Oui c'est possible.
Vous pouvez utiliser jQuery Auto Suggest qui est inclus avec WordPress http://codex.wordpress.org/Function_Reference/wp_enqueue_script
Avec cela, vous pouvez écrire un formulaire qui effectue une recherche Ajax dans le gestionnaire d'URL Ajax. Sur lequel vous pouvez ajouter_action. http://codex.wordpress.org/AJAX_in_Plugins
Vous pouvez donc ajax lookup, puis du côté de l'action, vous pouvez simplement effectuer un get_posts pour faire correspondre les titres, ou une requête SQL brute. Et retournez ce qui est nécessaire.
Cela devrait aider, si j'ai peu de temps, je pourrais écrire une solution de code complète. Mais l'essentiel est un plugin entier pour aider à alimenter la recherche.
Edit: Voilà, quelque chose comme ça devrait le faire, je ne l'ai pas testé, je l'ai simplement écrit du haut de ma tête. Mise à jour: échapper le texte saisi, restreindre par type de publication personnalisé et uniquement aux publications publiées
2012-11-21 Edit: mise à jour de la faute de frappe dans l'exemple de code.
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();
}