Holen Sie sich die WordPress-Beitrags-ID aus dem Titel des Beitrags

Lesezeit: 3 Minuten

Ich habe ein Problem mit einem benutzerdefinierten WordPress-Theme, das ich entwickle. Es ist ein bisschen kompliziert, aber im Wesentlichen muss ich eine Beitrags-ID anhand des Beitragstitels abrufen. Im Pseudocode wäre es idealerweise so etwas wie:

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

Der erwähnte Titel ist eine statische Referenz, die nicht von WordPress übernommen wird, sondern bereits auf der Seite vorhanden ist.

Vielen Dank im Voraus.

Holen Sie sich die WordPress Beitrags ID aus dem Titel des Beitrags
Michael Mau

Nur eine kurze Anmerkung für alle, die darüber stolpern:
get_page_by_title() kann jetzt jeden Post-Typ verarbeiten.
Die $post_type Parameter wurde in WP 3.0 hinzugefügt.

  • +1 Es ist immer besser, eine Kernfunktion zu verwenden als eine beliebige mySQL-Abfrage.

    – Tom Auger

    15. Dezember 2011 um 21:19 Uhr

  • Der Funktionsname ist jedoch verwirrend.

    – msiemens

    1. Oktober 2013 um 20:49 Uhr

Habe eine Lösung gefunden, falls noch jemand damit zu kämpfen hat. Habe die Frage erst aus Verzweiflung nach 4 Stunden Testen/Googeln gepostet!

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;
}

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

  • Fügen Sie diese Funktion einfach in Ihre functions.php-Datei ein.

    – Littlejon

    8. Oktober 2009 um 22:03 Uhr

  • Beachten Sie, dass Sie möglicherweise post_type in „page“ ändern möchten, wenn Sie die ID für eine Seite erhalten möchten. Sie können den post_type auch aus der SQL-Where-Klausel weglassen, um alle Revisionen, Seiten und Beiträge usw. zu durchsuchen (alle Typen mit anderen Worten).

    – Americanyak

    4. Juli 2010 um 4:54 Uhr

  • Ich vermute, dass dies Entwurfs-/Papierkorbversionen zurückgeben könnte, da die Kriterien nicht erfüllt sind status='published'….

    – zufälliger_Benutzername

    21. Mai 2012 um 20:22 Uhr

1646175545 447 Holen Sie sich die WordPress Beitrags ID aus dem Titel des Beitrags
BrainBUG

Wie Michal Mau erwähnte:

Verwenden

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

Es ist ( $page_title, $output, $post_type ) um einfach einen Beitrag statt einer Seite zu erhalten.

Möge dies Ihnen mehr helfen, indem Sie eine Funktion erstellen, damit Sie den Code nicht wiederholen müssen

function get_page_id_by_title($title)
{
$page = get_page_by_title($title);
return $page->ID;
}

$title = "your title";
get_page_id_by_title($title);

Holen Sie sich die WordPress Beitrags ID aus dem Titel des Beitrags
Ramkumar

Sie können den folgenden Code gemäß verwenden [a link][http://codex.wordpress.org/Function_Reference/get_page_by_title]1 )!

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

1646175546 416 Holen Sie sich die WordPress Beitrags ID aus dem Titel des Beitrags
Benutzer1470261

Eine andere Möglichkeit, die Beitrags- und Seiten-ID zu erhalten, ist die Verwendung eines Plugins.

Es gibt ein Plugin, das einfach nur eine Spalte zu Ihren allen Seiten, allen Posts, allen Kategorientabellen hinzufügt und einen Spaltentitel von ID hat … und direkt darunter sehen Sie alle Seiten / Posts ID in dieser Spalte aufgeführt..

Ich denke, das sollte sehr nützlich sein..

Ich benutze dieses Plugin sehr häufig und es ist sehr leicht.

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

1646175546 428 Holen Sie sich die WordPress Beitrags ID aus dem Titel des Beitrags
Erik Larson

Sie müssen keine SQL-Abfragen oder Plugins verwenden, verwenden Sie dafür die Standardfunktionen von WordPress

$page = get_page_by_title( "Home' );
$page_id = $page->ID;

905760cookie-checkHolen Sie sich die WordPress-Beitrags-ID aus dem Titel des Beitrags

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy