在产品标签云小部件中显示最受欢迎的WooCommerce产品标签

时间:2019-06-07 01:57:39

标签: php wordpress function woocommerce tag-cloud

因此,我的侧边栏/页脚上有默认的WooCommerce产品标签云小部件,我发现以下代码可以限制显示的数量,因为它占用了大量空间。但是,这段代码实际上并未显示最受欢迎的标签,而且我不知道该标签用于排序。

function set_widget_tag_cloud_args($args) {
  $my_args = array(
    'orderby'  => 'count',
    'order'    => 'DESC',
    'number'   => 15
  );
  $args = wp_parse_args( $args, $my_args );
return $args;
}
add_filter('widget_tag_cloud_args','set_widget_tag_cloud_args');

因此它正确地将其限制为15个标签,仅显示product_tag而不显示常规标签,但是orderby不能正常工作。例如,我最受欢迎的标签(按计数)是“钢琴”和“钟声”,但这些标签根本没有显示。

编辑:我已更改为标准的Wordpress标签云,并且它具有一个下拉菜单,用于选择产品标签而不是帖子标签。但是,这种行为很奇怪,在没有'number'=> 15的情况下运行此过滤器会导致orderby计数并正常工作,但是随后显示45个标记太多了。一旦将数字arg重新添加到代码中,它会将其限制为15,但不会以正确的顺序显示它们。

enter image description here

黄色显示跨越所有限制的标签,蓝色显示在增加限制时添加的标签,红色显示未在任何限制下出现的顶部标签,仅显示默认限制设置。

1 个答案:

答案 0 :(得分:0)

您使用错误的挂钩进行自定义。您需要使用woocommerce_product_tag_cloud_widget_args自定义WooCommerce产品标签云的参数。

function set_widget_tag_cloud_args($args) {
    $my_args = array(
        'orderby'  => 'count',
        'order'    => 'DESC',
        'number'   => 15
        );
    $args = wp_parse_args( $args, $my_args );
    return $args;
}
add_filter('woocommerce_product_tag_cloud_widget_args','set_widget_tag_cloud_args');
相关问题