最好(也是最简单)的方法是使用wp_title
过滤器。
首先,清理呼叫<?php wp_title(); ?>
在模板中。用以下内容替换现有内容:
wp_title( \'|\', true, \'right\' );
然后,在
functions.php
(或在儿童主题中
functions.php
; 正常注意事项适用),添加以下内容:
function wpse95147_filter_wp_title( $title ) {
if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) {
$title = single_post_title( \'\', false );
}
return $title;
}
add_filter( \'wp_title\', \'wpse95147_filter_wp_title\' );
此筛选器将完全覆盖
$title
在单页上下文中输出。(
The actual conditional is taken directly from core, 从
wp_title()
函数定义本身。)
我上次检查时,WordPress实际上并没有在wp_title()
; 因此,如果你看到了这一点,那么有什么东西正在添加它(也许是你的主题?)。然而,如果你想输出它,只需在上面的过滤器中写一个补充条件;e、 g.:
function wpse95147_filter_wp_title( $title ) {
if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) {
$title = single_post_title( \'\', false );
}
if ( is_front_page() && ! is_page() ) {
$title = esc_attr( get_bloginfo( \'name\' ) );
}
return $title;
}
add_filter( \'wp_title\', \'wpse95147_filter_wp_title\' );