来自页面的自定义帖子类型档案的自定义元标题

时间:2015-01-21 作者:Alexander Wigmore

我已经设置了一些自定义帖子类型,并创建了自定义存档,例如以下格式:

归档书籍。php(模板名称为“Books template”)。然后,我在wordpress中创建了一个页面(/books/),其中包含上述归档书籍。php指定为模板。

如何将元标题(wp\\u title)设置为我在页面上设置的标题(/books/)?-目前,它只是显示“books | sitename”。即使我改变了所有在一个SEO自定义标题。

我也在使用多合一SEO插件,但这似乎不起作用。我认为正在发生的是,它只是忽略了页面,直接跳转到归档书籍。php,因为它符合Wordpress自定义帖子类型命名规则?

2 个回复
最合适的回答,由SO网友:Alexander Wigmore 整理而成

我觉得我最好更新一下这个老问题,Yoast的SEO插件现在允许将所有SEO功能分配给定制的帖子类型档案。所以这是最好的解决方案。

SO网友:Nick Karpenko

对于任何使用All-in-one SEO插件并通过PHP注册CPT的人,下面是您可以做的。

在CPT注册中,在标签数组中,添加;

\'archive_seo_title\' => \'your set title | your site\',
\'archive_meta_desc\' => \'your meta description\'
然后在你的函数中。php文件添加这2个过滤器;

// CPT Archive page SEO Title
add_filter( \'aioseop_title\', \'dd_rewrite_custom_titles\' );
function dd_rewrite_custom_titles( $title ) {
  if ( is_post_type_archive() ) {
    $post_type = get_post_type_object( get_post_type() );
    if ($post_type->labels->archive_seo_title){
      $title = $post_type->labels->archive_seo_title;
    }
  }
  return $title;
}

// CPT Archive page meta Description
add_filter( \'aioseop_description\', \'filter_aioseop_description\'); 
function filter_aioseop_description( $description ) { 
    if ( is_post_type_archive() ) {
      $post_type = get_post_type_object( get_post_type() );
      if ($post_type->labels->archive_meta_desc){
        $description = $post_type->labels->archive_meta_desc;
      }
  }
  return $description; 
}
这些过滤器将首先检查当前页面是否是CPT存档,如果确定是,则会将seo标题和描述设置为您在CPT注册期间在标签数组中设置的内容。如果过滤器没有检测到CPT归档页面,那么它将只返回默认设置的原始标题+描述。

Note: If you are not using CPT php registration, you can just make $title and $description variables equal to whatever you want, e.g.

$title = get_the_title() . \' | \' . get_bloginfo();

结束
来自页面的自定义帖子类型档案的自定义元标题 - 小码农CODE - 行之有效找到问题解决它

来自页面的自定义帖子类型档案的自定义元标题

时间:2015-01-21 作者:Alexander Wigmore

我已经设置了一些自定义帖子类型,并创建了自定义存档,例如以下格式:

归档书籍。php(模板名称为“Books template”)。然后,我在wordpress中创建了一个页面(/books/),其中包含上述归档书籍。php指定为模板。

如何将元标题(wp\\u title)设置为我在页面上设置的标题(/books/)?-目前,它只是显示“books | sitename”。即使我改变了所有在一个SEO自定义标题。

我也在使用多合一SEO插件,但这似乎不起作用。我认为正在发生的是,它只是忽略了页面,直接跳转到归档书籍。php,因为它符合Wordpress自定义帖子类型命名规则?

2 个回复
最合适的回答,由SO网友:Alexander Wigmore 整理而成

我觉得我最好更新一下这个老问题,Yoast的SEO插件现在允许将所有SEO功能分配给定制的帖子类型档案。所以这是最好的解决方案。

SO网友:Nick Karpenko

对于任何使用All-in-one SEO插件并通过PHP注册CPT的人,下面是您可以做的。

在CPT注册中,在标签数组中,添加;

\'archive_seo_title\' => \'your set title | your site\',
\'archive_meta_desc\' => \'your meta description\'
然后在你的函数中。php文件添加这2个过滤器;

// CPT Archive page SEO Title
add_filter( \'aioseop_title\', \'dd_rewrite_custom_titles\' );
function dd_rewrite_custom_titles( $title ) {
  if ( is_post_type_archive() ) {
    $post_type = get_post_type_object( get_post_type() );
    if ($post_type->labels->archive_seo_title){
      $title = $post_type->labels->archive_seo_title;
    }
  }
  return $title;
}

// CPT Archive page meta Description
add_filter( \'aioseop_description\', \'filter_aioseop_description\'); 
function filter_aioseop_description( $description ) { 
    if ( is_post_type_archive() ) {
      $post_type = get_post_type_object( get_post_type() );
      if ($post_type->labels->archive_meta_desc){
        $description = $post_type->labels->archive_meta_desc;
      }
  }
  return $description; 
}
这些过滤器将首先检查当前页面是否是CPT存档,如果确定是,则会将seo标题和描述设置为您在CPT注册期间在标签数组中设置的内容。如果过滤器没有检测到CPT归档页面,那么它将只返回默认设置的原始标题+描述。

Note: If you are not using CPT php registration, you can just make $title and $description variables equal to whatever you want, e.g.

$title = get_the_title() . \' | \' . get_bloginfo();

相关推荐

删除具有实际标题的SANITIZE_TITLE_WITH_DASSES函数

求你了,我真的需要帮助。下面的代码是在我的网站上将搜索查询保存为标记的代码,但它将标题替换为“-”,请问有什么方法可以使标记标题名称保持搜索状态?。function addsometags() { //Don\'t do anything if we\'ve already got 20 tags $posttags = get_the_tags(); $count=0; if ($posttags) { foreach($posttags as $tag