仅在 wordpress 小部件侧边栏中显示基于所选父类别的 Woo Commerce 子类别
Only display Woo Commerce sub-categories based on selected Parent Category in a wordpress widget sidebar
我有一个 WordPress 侧边栏,我只想显示父类别的子项。我的结构如下
所有产品 > 父类别 > 子类别
如何让侧边栏只显示父类别和子类别。
我阅读了实现此代码的解决方案,但我不确定将它放在文件中的什么位置。
<?php
if (is_category()) {
$cat = get_query_var('cat');
$this_category = get_category($cat);
$this_category = wp_list_categories('hide_empty=0&hierarchical=true&orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
if($this_category !='<li>No categories</li>')
{
echo '<h3>Products</h3>';
echo '<ul>'.$this_category.'</ul>';
}
}
?>
这些是我的店铺的截图以及我想要的东西。
在主题的 functions.php 文件中创建一个短代码,如下所示:
add_shortcode('child_category_list', 'get_child_category_list');
function get_child_category_list(){
ob_start();
// Only on product parent category pages
if( is_product_category() ) {
$parent = get_queried_object();
$categories = get_term_children( $parent->term_id, 'product_cat' );
if ( $categories && ! is_wp_error( $categories ) ) :
echo '<ul>';
echo '<li>';
echo '<a href="'.get_term_link ($parent->term_id, 'product_cat').'">'.$parent->name.'</a>';
echo '<ul>';
foreach($categories as $category) :
$term = get_term( $category, 'product_cat' );
echo '<li>';
echo '<a href="'.get_term_link($term).'" >';
echo $term->name;
echo '</a>';
echo '</li>';
endforeach;
echo '</ul>';
echo '<li>';
echo '</ul>';
endif;
}
return ob_get_clean();
}
然后,转到 外观 > 小部件,将 短代码 或 文本 小部件抓取到您的侧边栏并粘贴以下简码:
[child_category_list]
Tested 在本地主机上及其工作正常。
我有一个 WordPress 侧边栏,我只想显示父类别的子项。我的结构如下
所有产品 > 父类别 > 子类别
如何让侧边栏只显示父类别和子类别。
我阅读了实现此代码的解决方案,但我不确定将它放在文件中的什么位置。
<?php
if (is_category()) {
$cat = get_query_var('cat');
$this_category = get_category($cat);
$this_category = wp_list_categories('hide_empty=0&hierarchical=true&orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0");
if($this_category !='<li>No categories</li>')
{
echo '<h3>Products</h3>';
echo '<ul>'.$this_category.'</ul>';
}
}
?>
这些是我的店铺的截图以及我想要的东西。
在主题的 functions.php 文件中创建一个短代码,如下所示:
add_shortcode('child_category_list', 'get_child_category_list');
function get_child_category_list(){
ob_start();
// Only on product parent category pages
if( is_product_category() ) {
$parent = get_queried_object();
$categories = get_term_children( $parent->term_id, 'product_cat' );
if ( $categories && ! is_wp_error( $categories ) ) :
echo '<ul>';
echo '<li>';
echo '<a href="'.get_term_link ($parent->term_id, 'product_cat').'">'.$parent->name.'</a>';
echo '<ul>';
foreach($categories as $category) :
$term = get_term( $category, 'product_cat' );
echo '<li>';
echo '<a href="'.get_term_link($term).'" >';
echo $term->name;
echo '</a>';
echo '</li>';
endforeach;
echo '</ul>';
echo '<li>';
echo '</ul>';
endif;
}
return ob_get_clean();
}
然后,转到 外观 > 小部件,将 短代码 或 文本 小部件抓取到您的侧边栏并粘贴以下简码:
[child_category_list]
Tested 在本地主机上及其工作正常。