WordPress wp_head()标题标签不起作用

时间:2018-11-08 09:48:11

标签: php wordpress seo

问题是我的一个寻呼机网站上的标题标签没有填充。

page.php看起来像这样:

<?php 

locate_template( 'page-home.php', true );

exit();

page-home.php看起来像这样:

<?php get_header(); ?>

<?php get_template_part('template-sections/slider'); ?>

<?php get_template_part('template-sections/services'); ?>

<?php //etc. ?>

<?php get_footer();

header.php看起来像这样:

<!doctype html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link rel="profile" href="http://gmpg.org/xfn/11"/>
    <base href="<?php echo get_site_url(); ?>/">
    <?php wp_head(); ?>
</head>

<body itemprop="hasPart" itemscope="" itemtype="http://schema.org/WebPage" <?php body_class(); ?>>
<!-- etc -->

footer.php看起来像这样:

            <?php wp_footer(); ?>
    </main>
    <aside class="aside">
        <div class="aside__content">
        </div>
    </aside>
</div>
</body>
</html>

是的。后端存在一个名为home的页面。我希望Wordpress挑选该标题并将其用作header.php中的标题标签。

据我所知,Wordpress通常会自动填充标题标签。那么这是什么问题呢?谢谢!

PS:我在自定义Wordpress主题的任何地方都没有使用wp_title过滤器。

1 个答案:

答案 0 :(得分:0)

好的,我找到的解决方案可能会帮助其他人。所以我可以随意在这里发布它。

第1部分。与标准twentyseventeen主题进行比较。我发现Wordpress需要add_theme_support( 'title-tag' );才能管理标题。 (否则,您应该在<title>中自己添加一个header.php标签。

第2部分。我需要向functions.php添加自定义过滤器,以所需的格式显示标题。例如(使用SEO插件):

function custom_title( $title_parts ) {
    $page_id   = site_get_page_id(); // custom function, you might want to use global $post here
    $seo_title = @get_post_meta( $page_id, '_aioseop_title' );

    if ( isset( $seo_title[0] ) ) {
        $title = $seo_title[0];
    } elseif ( isset( $page_id ) ) {
        $title = get_the_title( $page_id );
    }

    $page_title           = isset( $title ) ? $title : 'Page not found in backend';
    $title_parts['title'] = $page_title;

    return $title_parts;
}