当前位置:  开发笔记 > 编程语言 > 正文

如何通过WordPress中的Yoast seo插件获取主要类别集

如何解决《如何通过WordPress中的Yoastseo插件获取主要类别集》经验,为你挑选了2个好方法。

我使用了Yoast seo插件并为产品设置了主要类别.但在前面我无法获得主要类别名称.



1> 小智..:

嗨,你可以使用postmeta表.

$primary_cat_id=get_post_meta($product->id,'_yoast_wpseo_primary_product_cat',true);
if($primary_cat_id){
   $product_cat = get_term($primary_cat_id, 'product_cat');
   if(isset($product_cat->name)) 
       echo $product_cat->name;
}


对于对此有疑问的任何人,请记住为您的分类法更新该标签。本示例使用“ _yoast_wpseo_primary_product_cat”。如果您的分类标准为“城市”,则应使用“ _yoast_wpseo_primary_city”。

2> 小智..:

我无法获得公认的工作答案。我修改了它以满足我的需求

$cat_name = ''; // I have this set in some shortcodes

if (!isset($cat_name) || $cat_name == '') {

  if ( class_exists('WPSEO_Primary_Term') ) {

    // Show the post's 'Primary' category, if this Yoast feature is available, & one is set. category can be replaced with custom terms

    $wpseo_primary_term = new WPSEO_Primary_Term( 'category', get_the_id() );

    $wpseo_primary_term = $wpseo_primary_term->get_primary_term();
    $term               = get_term( $wpseo_primary_term );

    if (is_wp_error($term)) {
        $categories = get_the_terms(get_the_ID(), 'category');
        $cat_name = $categories[0]->name;
    } else {
        $cat_name = $term->name;
    }

  } else {
    $categories = get_the_terms(get_the_ID(), 'category');
    $cat_name = $categories[0]->name;
  }
}

我已经编辑了一个工作示例以使其更加独立,我将其用于自定义分类法,因此使用了get_the_terms()而不是get_the_category()。该代码尚未在其当前状态下进行过测试。

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有