首页 文章

如何在Wordpress和Enfold主题中更改网页的 Headers

提问于
浏览
-1

我在网站上使用Wordpress和Enfold主题 . 目前,所有网页的 Headers 都以SITE_TITLE |格式呈现页面 Headers .

我希望能够将特定页面的 Headers 更改为PAGE_TILE(即从当前格式中删除SITE_TITLE和分隔符),而无需更改主题文件以确保更新不会覆盖更改 . 有可能这样做吗?

注意:我尝试使用过滤器,即wp_title,这只能更改PAGE_TITLE字符串,页面仍会显示SITE_TITLE和分隔符,因此这种方法并不好 .

3 回答

  • 0

    你可以应用一个简单的技巧 . 只需检查你的header.php文件,你在哪个页面上,如果你在你想要的页面上使用 wp_title(); 你想要只有 Headers 和分隔符和pite Headers 然后在你可以关注你已经被使用的所有其他页面上使用 wp_title('|', true, 'right'); 方法 . 在代码中,它看起来如下所示

    <?php if(is_front_page()){?>
    <title><?php wp_title(); ?></title>
    <?php }else {?>
    <title><?php wp_title('|', true, 'right'); ?></title>
    <?php } ?>
    

    通过这种方式,您可以获得所需的格式,在上面的代码中,它将在首页上显示页面 Headers ,并在所有其他页面上显示网站 Headers 分隔符和页面 Headers . 您可以根据需要修改此代码,它将适合您 .

  • 1

    我不熟悉那个主题,但是WordPress 4.4引入了a new way to handle page titles,取代 wp_title 用于声明支持 'title-tag' 的任何主题 . 如果你的主题是这样做的,你需要使用 document_title_parts 钩子来改变所有 Headers 的部分(用|字符分隔的部分) . 或者,使用 pre_get_document_title 钩子将 Headers 修改为一个大字符串 .

    有关详细信息,请参阅https://stackoverflow.com/a/34268098/2271 .

  • 1

    用你更换你拥有的东西:

    wp_title( '&#124;', 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 );
        }
        if ( is_front_page() && ! is_page() ) {
            $title = esc_attr( get_bloginfo( 'name' ) );
        }
        return $title;
    }
    add_filter( 'wp_title', 'wpse95147_filter_wp_title' );
    

    这是一个答案:here

相关问题