wake-up-neo.com

Einstellen des Titels mit dem Filter wp_title

Ich möchte etwas sehr Einfaches tun, finde aber nicht heraus, wo ich dies in WordPress ausführen muss.

Wenn jemand auf meiner WordPress-Site eine Blogpost-Seite besucht, soll der Titel im Blogpost den Titel der Seite ersetzen.

Ich denke, ich kann dies mit dem Filter Haken wp_title tun?

Ich dachte über etwas wie das Folgende nach:

add_filter('wp_title', 'filter_pagetitle');

function filter_pagetitle($title) {
 $the_post_id    = get_the_ID();
 $the_post_data  = get_post($the_post_id);
 $title = $the_post_data->post_title;

 return $title;
}

Wie auch immer, ich bin ein bisschen verloren in Bezug auf die Position, ich dachte, es müsste in loop-single.php sein, da dies nur für einzelne Seiten gelten soll, aber ich habe auch gesehen, dass dies in Funktionen sein muss. PHP in meinem Thema?

Jede Hilfe wäre dankbar :-)

Reich

2
Richard Bagshaw

Da wp_title () normalerweise aus der header.php-Datei Ihres Themes aufgerufen wird, läuft es auf jeder Seite Ihres WordPress (normalerweise im Frontend). Platzieren Sie also den Filter-Hook und die Funktion in der Datei functions.php Ihres Themas und prüfen Sie, ob es sich um einen Blog-Beitrag handelt, bevor Sie den Titel ändern. Etwas wie das:

add_filter('wp_title', 'filter_pagetitle');
function filter_pagetitle($title) {
    //check if its a blog post
    if (!is_single())
        return $title;

    //if you get here then its a blog post so change the title
    global $wp_query;
    if (isset($wp_query->post->post_title)){
        return $wp_query->post->post_title;
    }

    //if wordpress can't find the title return the default
    return $title;
}
3
Bainternet