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