通过短代码获取 Woocommerce 产品标签 post 计数
Get Woocommerce product tag post count via a shortcode
我需要计算“产品标签”在整个网站上的使用次数。每个产品都有许多与之关联的标签。
我想过创建一个短代码,然后在需要时可以引用它。我在下面创建的短代码使网站崩溃。
// function
function tag_count_shortcode() {
// Identify the tag ID and then run a count.
$term = get_tag( $tag_ID );
$count = $term->count;
// Output the total number of times a tag is used
return $count;
}
// register shortcode
add_shortcode('tagcount', 'tag_count_shortcode');
我不确定我哪里做错了。非常感谢任何帮助。
平台:WordPress |
文件代码:“Functions.php”
干杯
这是关于产品标签,它是 WooCommerce 自定义分类而不是 WordPress 标签。
另外一个产品可以有多个产品标签,所以下面的代码将处理第一个产品标签词的计数。此短代码还处理一些参数:
taxonomy
(也可以处理任何自定义分类、WordPress 标签和类别)- 默认:产品标签
term_id
(可以处理任何定义的术语 ID)- 默认情况下,它在单个产品页面上获取术语
-
post_id
- 默认为当前产品ID
代码:
function term_count_shortcode( $atts ) {
extract( shortcode_atts( array(
'taxonomy' => 'product_tag', // Product tag taxonomy (by default)
'term_id' => 0,
'post_id' => get_queried_object_id(), // The current post ID
), $atts ) );
// For a defined term ID
if( $term_id > 0 ) {
// Get the WP_term object
$term = get_term_by( 'id', $term_id, $taxonomy );
if( is_a( $term, 'WP_Term' ) )
$count = $term->count;
else
$count = 0;
}
// On product single pages
elseif ( is_product() && $term_id == 0 && $post_id > 0 ) {
// Get the product tag post terms
$terms = get_the_terms( $post_id, $taxonomy );
// Get the first term in the array
$term = is_array($terms) ? reset( $terms ) : '';
if( is_a( $term, 'WP_Term' ) )
$count = $term->count;
else
$count = 0;
} else {
$count = false;
}
return $count;
}
add_shortcode('term_count', 'term_count_shortcode');
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
用法:
1). 基本用法: 从产品单页显示第一个产品标签计数:[term_count]
2). 带参数的用法:
具有定义的术语 ID:[term_count term_id="58"]
具有定义的术语 ID 和分类法:[term_count term_id="15" taxonomy="product_cat"]
具有定义的术语 ID 和 post ID:[term_count term_id="15" post_id="37"]
我需要计算“产品标签”在整个网站上的使用次数。每个产品都有许多与之关联的标签。
我想过创建一个短代码,然后在需要时可以引用它。我在下面创建的短代码使网站崩溃。
// function
function tag_count_shortcode() {
// Identify the tag ID and then run a count.
$term = get_tag( $tag_ID );
$count = $term->count;
// Output the total number of times a tag is used
return $count;
}
// register shortcode
add_shortcode('tagcount', 'tag_count_shortcode');
我不确定我哪里做错了。非常感谢任何帮助。
平台:WordPress | 文件代码:“Functions.php”
干杯
这是关于产品标签,它是 WooCommerce 自定义分类而不是 WordPress 标签。
另外一个产品可以有多个产品标签,所以下面的代码将处理第一个产品标签词的计数。此短代码还处理一些参数:
taxonomy
(也可以处理任何自定义分类、WordPress 标签和类别)- 默认:产品标签term_id
(可以处理任何定义的术语 ID)- 默认情况下,它在单个产品页面上获取术语-
post_id
- 默认为当前产品ID
代码:
function term_count_shortcode( $atts ) {
extract( shortcode_atts( array(
'taxonomy' => 'product_tag', // Product tag taxonomy (by default)
'term_id' => 0,
'post_id' => get_queried_object_id(), // The current post ID
), $atts ) );
// For a defined term ID
if( $term_id > 0 ) {
// Get the WP_term object
$term = get_term_by( 'id', $term_id, $taxonomy );
if( is_a( $term, 'WP_Term' ) )
$count = $term->count;
else
$count = 0;
}
// On product single pages
elseif ( is_product() && $term_id == 0 && $post_id > 0 ) {
// Get the product tag post terms
$terms = get_the_terms( $post_id, $taxonomy );
// Get the first term in the array
$term = is_array($terms) ? reset( $terms ) : '';
if( is_a( $term, 'WP_Term' ) )
$count = $term->count;
else
$count = 0;
} else {
$count = false;
}
return $count;
}
add_shortcode('term_count', 'term_count_shortcode');
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
用法:
1). 基本用法: 从产品单页显示第一个产品标签计数:[term_count]
2). 带参数的用法:
具有定义的术语 ID:
[term_count term_id="58"]
具有定义的术语 ID 和分类法:
[term_count term_id="15" taxonomy="product_cat"]
具有定义的术语 ID 和 post ID:
[term_count term_id="15" post_id="37"]