个性化阅读
专注于IT技术分析

woocommerce如何获取当前分类

我正在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

获取当前类别字符串:

single_cat_title('', false); // this returns your current category
echo single_cat_title('', false); // for print current category
赞(0)
未经允许不得转载:srcmini » woocommerce如何获取当前分类

评论 抢沙发

评论前必须登录!