Ja das ist möglich
Sie können jQuery Auto Suggest verwenden, das in WordPress enthalten ist: http://codex.wordpress.org/Function_Reference/wp_enqueue_script
Mit diesem können Sie ein Formular schreiben, das eine Ajax-Suche für den Ajax-URL-Handler durchführt. Welche können Sie add_action auf. http://codex.wordpress.org/AJAX_in_Plugins
Sie können also eine Ajax-Suche durchführen und dann auf der Aktionsseite einfach get_posts ausführen, um mit Titeln übereinzustimmen, oder eine rohe SQL-Abfrage. Und geben Sie zurück, was Sie brauchen.
Das sollte helfen, wenn ich in Kürze Zeit habe, könnte ich eine vollständige Codelösung schreiben. Aber der Großteil davon ist ein ganzes Plugin, das die Suche unterstützt.
Edit: Los geht's, so etwas sollte es tun, habe es noch nicht getestet, habe es einfach über den Kopf geschrieben. Update: Escape-Zeichen für den eingegebenen Text, Eingrenzen nach benutzerdefiniertem Beitragstyp und nur für veröffentlichte Beiträge
2012-11-21 Bearbeiten: Tippfehler im Codebeispiel aktualisiert.
add_action('wp_enqueue_scripts', 'se_wp_enqueue_scripts');
function se_wp_enqueue_scripts() {
wp_enqueue_script('suggest');
}
add_action('wp_head', 'se_wp_head');
function se_wp_head() {
?>
<script type="text/javascript">
var se_ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>';
jQuery(document).ready(function() {
jQuery('#se_search_element_id').suggest(se_ajax_url + '?action=se_lookup');
});
</script>
<?php
}
add_action('wp_ajax_se_lookup', 'se_lookup');
add_action('wp_ajax_nopriv_se_lookup', 'se_lookup');
function se_lookup() {
global $wpdb;
$search = like_escape($_REQUEST['q']);
$query = 'SELECT ID,post_title FROM ' . $wpdb->posts . '
WHERE post_title LIKE \'' . $search . '%\'
AND post_type = \'post_type_name\'
AND post_status = \'publish\'
ORDER BY post_title ASC';
foreach ($wpdb->get_results($query) as $row) {
$post_title = $row->post_title;
$id = $row->ID;
$meta = get_post_meta($id, 'YOUR_METANAME', TRUE);
echo $post_title . ' (' . $meta . ')' . "\n";
}
die();
}