我正在woocommerce上访问archive-products.php来显示我的产品(例如woocommerce的正常过程)。
在archive-products.php的页面上, 我添加了带有我的商店具有的所有产品类别(带有或不带有产品)的边栏。我已经使用以下代码来做到这一点:
$taxonomy = 'product_cat';
$orderby = 'ID';
$show_count = 0;
// 1 for yes, 0 for no
$pad_counts = 0;
// 1 for yes, 0 for no
$hierarchical = 1;
// 1 for yes, 0 for no
$title = '<
h2>
' . _x('Our Products', 'mfarma') . '<
/h2>
';
$hide_empty = 0;
$args = array(
'taxonomy' =>
$taxonomy, 'orderby' =>
$orderby, 'order' =>
'ASC', 'show_count' =>
$show_count, 'pad_counts' =>
$pad_counts, 'hierarchical' =>
$hierarchical, 'title_li' =>
$title, 'hide_empty' =>
$hide_empty
);
?>
<
ul>
<
?php wp_list_categories($args);
?>
<
/ul>
现在, 页面的左侧有上面的侧边栏, 右侧有产品。在每个产品类别中, 我都添加了一个带有html格式的小描述, 当用户单击该类别时, 我想显示该描述。根据woocommerce的说法, 当你转到特定类别(在我的情况下为http:// localhost / product-category / mycategory)时, 它仍然是archive-products.php。
我试图从单击的链接中获取term_id, 但是循环(和全局$ post)使我指向列表的第一个产品, 而不是所需的类别。因此, 如果一个类别的商品为零, 则无法获得ID号。如何从archive-products.php获取该术语ID?
#1找到了其他答案, 但它也适用于我的问题。
add_action('woocommerce_archive_description', 'woocommerce_category_description', 2);
function woocommerce_category_description() {
if (is_product_category()) {
global $wp_query;
$cat = $wp_query->
get_queried_object();
echo "CAT IS:".print_r($cat, true);
// the category needed.
}
}
#2你可以简化操作:
打印当前类别:
single_cat_title();
// this prints your current category
【woocommerce如何获取当前分类】获取当前类别字符串:
single_cat_title('', false);
// this returns your current category
echo single_cat_title('', false);
// for print current category
推荐阅读
- woocommerce分类图像加载到循环主题搜索(Mustang Lite主题)不起作用
- #yyds干货盘点#还不理不清Vue.js目录结构(2分钟我来带你了解)
- 百度搜索中“鱼龙混杂”的加盟信息,如何靠AI 解决()
- #私藏项目实操分享#答题小程序中,如何将数据库里的排行榜数据导出为excel
- shell脚本之条件语句
- 使用 scipy.fft 进行Fourier Transform(Python 信号处理)
- k8s核心技术--configmap#yyds干货盘点#
- JavaMoney规范(JSR 354)与对应实现解读
- 木棉花基于ArkUI的渐变色盘——容器组件的学习分享(上)