50 votes

Obtenir WordPress Post ID à partir du titre du Post

J'ai un problème avec un thème WordPress que je suis en développement. C'est un peu compliqué, mais pour l'essentiel, ce dont j'ai besoin pour faire est d'obtenir un Poste Id par il du Titre du Post. En pseudo-code, il devrait être quelque chose comme:

title = "foo";
post_id = get_post_id_where_title_is(title);

Le titre mentionné, c'est une référence statique de ne pas être tiré à partir de WordPress, il est déjà présent sur la page.

Merci à l'avance.

93voto

Michal Mau Points 939

Juste une note rapide pour ceux qui bute sur ceci:
get_page_by_title() peut maintenant gérer tout type de poste.
L' $post_type paramètre a été ajouté dans la note WP 3.0.

19voto

Aaron Points 541

Trouvé une solution si quelqu'un d'autre est en lutte avec cette. Seulement posté la question, en désespoir de cause, après 4 heures de test/recherche sur Google!

function get_post_by_title($page_title, $output = OBJECT) {
    global $wpdb;
        $post = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type='post'", $page_title ));
        if ( $post )
            return get_post($post, $output);

    return null;
}

Trouvé à: http://sudarmuthu.com/blog/2009/09/18/retrieving-posts-and-pages-based-on-title-in-wordpress.html

8voto

BRLN brainBUG Points 23

Comme Michal Mau mentionné:

Utilisation

$my_post = get_page_by_title( 'My Title', OBJECT, 'post' );
echo $my_post->post_content;

Il est ( $page_title, $output, $post_type ) de recevoir facilement un poste au lieu d'une page.

1voto

Ramkumar Points 13

vous pouvez utiliser le code suivant comme par [lien][http://codex.wordpress.org/Function_Reference/get_page_by_title]1 )!

<?php 
$page = get_page_by_title( 'About' );
wp_list_pages( 'exclude=' . $page->ID );
?>

0voto

user1470261 Points 1

Une autre façon d'obtenir le poste et l'ID de la page, est d'utiliser un plugin..

il y a un plugin, que ce qu'il ne peut tout simplement, est juste d'ajouter une colonne à vos toutes les pages, tous les postes, toutes les catégories tables, et avoir un titre de colonne d'ID...et juste en dessous, vous voyez la page/post id figurant dans cette colonne..

Je pense que cela devrait être très utile..

J'utilise ce plugin très souvent et il est très léger.

http://getyourblogready.com/?p=758

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X