因此,我的侧边栏/页脚上有默认的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,但不会以正确的顺序显示它们。
黄色显示跨越所有限制的标签,蓝色显示在增加限制时添加的标签,红色显示未在任何限制下出现的顶部标签,仅显示默认限制设置。
答案 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');