Beschreibung
Ruft einen Beitrag seinen Titel gegeben. Wenn mehr als ein Beitrag denselben Titel verwendet, wird der Beitrag mit der kleinsten ID zurückgegeben.
Da diese Funktion den MySQL-Vergleich '=' verwendet, wird beim $ page_title normalerweise die Groß-/Kleinschreibung nicht berücksichtigt, und die Standard-Sortierung wird nicht berücksichtigt. Nutzungs
<?php
get_page_by_title($page_title, $output, $post_type);
?>
Parameter
$page_title
(string) (required) Page title
Default: None
$output
(string) (optional) Output type. OBJECT, ARRAY_N, or ARRAY_A.
Default: OBJECT
$post_type
(string) (optional) Post type like 'page', 'post', 'product' etc.
Default: page
Rückgabewerte
(mixed)
OBJECT, ARRAY_N, or ARRAY_A.
NULL, wenn keine Einträge gefunden.
Überprüfen Sie es auf wordpress codex.
Eine andere Möglichkeit, dies zu tun, ist wie folgt.
Das Problem
Die Funktion einen Beitrag/Seite Name zu einer post/Seite ID umwandelt.
function get_id_by_post_name($post_name)
{
global $wpdb;
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$post_name."'");
return $id;
}
Funktionsaufruf
Rufen Sie die Funktion irgendwo in Ihrem Thema.
<?php echo get_id_by_post_name('my-post-name'); ?>
Hallo, danke für deine Antwort. Die Namen der Beiträge sind einzigartig. Ich habe es versucht, aber es funktioniert nicht: $ page = get_page_by_title ('Title.one'); $ pageID = $ page-> ID; – Daniel
Versuchen Sie, einen Post zu erhalten, von dem Sie wissen, dass er existiert (durch die ID), und dann get_page_by_title() mit diesem Posttitel. – gfelisberto