对于任何使用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();