Php 在产品标签云小部件中显示最流行的WooCommerce产品标签

Php 在产品标签云小部件中显示最流行的WooCommerce产品标签,php,wordpress,function,woocommerce,tag-cloud,Php,Wordpress,Function,Woocommerce,Tag Cloud,因此,我在侧边栏/页脚上有一个默认的WooCommerce产品标签云小部件,我发现下面的代码限制了它显示的数量,因为它占用了大量空间。然而,这段代码实际上并没有显示最流行的标签,我不知道它是用什么来排序的 function set_widget_tag_cloud_args($args) { $my_args = array( 'orderby' => 'count', 'order' => 'DESC', 'number' => 15

因此,我在侧边栏/页脚上有一个默认的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个标签,只显示产品标签而不显示常规标签,但orderby无法正常工作。例如,我最受欢迎的标签(按计数)是“Piano”和“Bells”,但它们根本没有出现在列表中

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


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

您使用了错误的钩子进行自定义。您需要使用
woocommerce\u product\u tag\u cloud\u widget\u 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');

我之前使用WooCommerce产品标签云小部件编写的代码就是这样的,它的行为方式也是一样的,所以我修改了我的问题,以更新我使用的是Wordpress中带有产品标签分类下拉列表的常规产品标签云。它的行为方式仍然相同,只显示与第一个代码相同的标记。它看起来像一个用户前端的工作,但在管理我看的计数,它不是排序的最高计数为任何原因。如果我去掉“number”参数,它会起作用,但列表太长。我用图像编辑了我的问题,以便更好地解释发生了什么。你知道为什么会发生这种情况吗?我想不出来