问题是我的一个寻呼机网站上的标题标签没有填充。
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
过滤器。
答案 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;
}