如何为特定的自定义帖子类型删除WordPress生成的标题标签


How to remove the WordPress generated title tag for specific custom post type?

好的,所以我继承了一个由另一个开发人员建立的网站,代码到处都是。这是一个按州/城市组织的目录站点,为了确保相同的城市名称可以在不同的州作为唯一的帖子出现,一些时髦的重写和重定向已经实现。

长话短说,由于这些url重写,All In One SEO将无法与自定义帖子类型一起工作。

我通过为自定义帖子类型创建第二个header.php并实现以下内容来管理解决方案:

<?php while ( have_posts() ) : the_post(); ?>
<?php
    // get the state name
    $state = '';
    $states = wp_get_post_terms( get_the_ID(), 'state' );
    if( $states ) {
        $state = ', ' . strtoupper( $states[0]->description );
    }
    $city_name = get_the_title();
    $title = $city_name . $state;
?>
<title>Cash for Gold Near <?php the_title(); ?> - Find Gold Buyers Near <?php the_title(); ?></title>
<?php endwhile; ?>

它生成了适当的标题标签,但随后我遇到了两个标题标签的问题-自定义的和WP生成的。

是否有一种方法来摆脱WP生成的标题标签(以及元描述)为特定的自定义帖子类型?

任何帮助都是感激的。

谢谢!

辛西娅

在生成另一个标题标签的地方添加一个post类型检查:

if( !is_singular( 'post-type-slug' ) ){
     //write normal post title
}

您应该将'post-type-slug'替换为您的帖子类型使用的slug。你可以在其他区域做同样的事情,只显示标题,如果它是正确的帖子类型:

if( is_singular( 'post-type-slug' ) ){
     //write custom post title
}

更改为:

<title>Cash for Gold Near <?php echo $title; ?> - Find Gold Buyers Near <?php echo $title; ?></title>