How would you go about creating your own search for WordPress or replacing the built in search for WordPress? I want to list items from a separate table.
So far I'm able to get the list of items, BUT it wants the url to be a post.
What I have so far:
add_action( 'wp', customsearch' );
function customsearch( $pag )
global $wp_query, $wpdb;
if ( $wp_query->is_search )
$key = $wp_query->query_vars['s'];
name FROM ' .PRODUCT_LIST . ' WHERE
name LIKE "%' . $wpdb->escape($key) .
$list = $wpdb->last_result;
$ids = array();
$names = array();
foreach ( $list as $item )
$ids = $item->id;
$names = $item->name;
$wp_query->post_count = count( $list );
foreach ( $list as $k => $post )
if ( isset($names[$k]) && $names[$k] != '' )
$post->post_title = $names[$k];
$wp_query->posts = $post;
This code returns a list of items, but I have no way of specifying the URL, or anything. I had thought about trying to intercept the search page content using the_content filter, but this does not seem to work, or atleast how I tried to do it.
Any help would be appreciated.