在WooCommerce侧边栏小部件区域中显示最受欢迎的产品标签

时间:2017-08-19 11:08:25

标签: php wordpress woocommerce shortcode custom-taxonomy

我找到了这段代码(http://devotepress.com/faqs/display-popular-tags-wordpress),我使用了短代码([wpb_popular_tags]),但我没有看到任何结果。

如何使用此代码显示最受欢迎的WooCommerce产品代码?

这是他们的代码:

function wpb_tag_cloud() {
    $tags = get_tags();
    $args = array(
        'smallest' => 10,
        'largest' => 22,
        'unit' => 'px',
        'number' => 10,
        'format' => 'flat',
        'separator' => " ",
        'orderby' => 'count',
        'order' => 'DESC',
        'show_count' => 1,
        'echo' => false
    );

    $tag_string = wp_generate_tag_cloud( $tags, $args );

    return $tag_string;
}

// Add a shortcode so that we can use it in widgets, posts, and pages
add_shortcode('wpb_popular_tags', 'wpb_tag_cloud');

// Enable shortcode execution in text widget
add_filter ('widget_text', 'do_shortcode'); 

1 个答案:

答案 0 :(得分:0)

首先,您必须知道您不知道的可能是:
经典的WordPress帖子标签与WooCommerce“产品标签”非常不同,后者具有不同的自定义分类'product_tag'

所以你不能使用WordPress get_tags()来获取产品标签。

  

相反,你应该get_terms( 'product_tag' ) 替换它:

function wpb_tag_cloud() {
    $tags = get_terms( 'product_tag' );
    $args = array(
        'smallest' => 10,
        'largest' => 22,
        'unit' => 'px',
        'number' => 10,
        'format' => 'flat',
        'separator' => " ",
        'orderby' => 'count',
        'order' => 'DESC',
        'show_count' => 1,
        'echo' => false
    );
    $tag_string = wp_generate_tag_cloud( $tags, $args );
    return $tag_string;
}

// Add a shortcode so that we can use it in widgets, posts, and pages
add_shortcode('wpb_popular_tags', 'wpb_tag_cloud');

// Enable shortcode execution in text widget
add_filter ('widget_text', 'do_shortcode'); 

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

  

USAGE - 您需要:

     
      
  1. 在您的woocommerce小部件栏区域添加“文本”小部件。
  2.   
  3. 在此“文字”小部件的编辑器中添加短代码 [wpb_popular_tags] (然后保存)
  4.         

    这次您将获得所有“最受欢迎”的产品标签 *(您已为产品设置和启用的产品标签)* s。

在WooCommerce 3+中测试并且完美无缺。