我正在使用WooCommerce子类别归档页面上的显示子类别术语列表回答我上一个问题的代码,在我的WooCommerce商店的父类别页面上显示我的子类别
现在我希望它显示为一个下拉列表(理想情况下是一个select2下拉列表,就像其他WooCommerce下拉列表一样),而不是普通的链接。
我知道我可以使用wc\u product\u dropdown\u categories()
,但如何在主父子类别页面上显示子类别作为下拉列表?
以下是一个自定义快捷码,将显示链接子类别术语列表的Select2下拉列表。
注意:默认情况下,WooCommerce归档页面上不会加载Select2库(和样式)。因此,使用CDN的外部链接在这个短代码中包含了一些内容,并且只加载到子类别中。
如果您愿意,您可以使用WooCommerce中包含的文件替换它,使用WordPress排队推荐的方式。
守则:
add_shortcode('wc_subcat_dropdown', 'wc_sub_subcategories_dropdown');
function wc_sub_subcategories_dropdown( $atts ) {
// Shortcode attribute (or argument)
extract( shortcode_atts( array(
'taxonomy' => 'product_cat',
'obj_id' => '0',
), $atts, 'wc_subcat_dropdown' ) );
if ( $obj_id > 0 ) :
$obj = new WP_Term( (int) $obj_id );
else :
$obj = get_queried_object();
endif;
if ( is_a($obj, 'WP_Term') && $taxonomy === $obj->taxonomy && 0 != $obj->parent ) :
// Get sub-subcategories of the current subcategory
$terms = get_terms([
'taxonomy' => $taxonomy,
'hide_empty' => true,
'parent' => $obj->term_id
]);
endif;
if ( isset($terms) && ! empty($terms) ) :
ob_start(); // Start buffering
// Select2 CSS - Can be removed and replaced
echo '<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" rel="stylesheet" />';
echo '<select name="product_cat" id="'.$taxonomy.'" class="dropdown_'.$taxonomy.'">
<option value="">'.__("Select a subcategory","woocommerce").'</option>';
// Loop through product subcategories WP_Term Objects
foreach ( $terms as $term ) {
echo '<option value="'. $term->slug .'">'. $term->name .'</option>';
}
echo '</select>';
// Select2 Script - Can be removed and replaced
echo '<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>';
?>
<script type='text/javascript'>
(function($) {
$('select#<?php echo $taxonomy; ?>').select2();
$('.dropdown_product_cat').change(function(){
if( $(this).val() !=='' ) {
location.href = '<?php echo home_url(); ?>/?product_cat='+$(this).val();
}
});
})(jQuery);
</script>
<?php
return ob_get_clean();
endif;
}
代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。
>
[wc_subcat_dropdown]
在PHP代码中,像一个模板文件,任何钩住的函数...
echo do_shortcode('[wc_subcat_dropdown]');
或
<?php echo do_shortcode('[wc_subcat_dropdown]'); ?>
使用挂钩函数并在子类别标题下显示下拉列表:
add_action( "woocommerce_archive_description", "custom_sub_category_dropdown", 5 );
function custom_sub_category_dropdown(){
echo do_shortcode('[wc_subcat_dropdown]');
}
代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。
可选的短代码参数:
$id
-定义子类别术语Id(默认为当前子类别术语Id)相关的:
在Woocommerce中,我使用“在Woocommerce存档应答功能中获取当前产品类别的子类别”在父类别页面上显示子类别列表 但我只需要将其应用于特定的产品类别,而使用带有大量类别ID的数组似乎并不理想。 我只需要显示第一个子类别的列表,例如,我的主要父类别之一是“衣服”,然后是子类别“衬衫”,然后是子类别“无袖”。我只需要在第一个子类别上显示它,在本例中为“衬衫”。
我需要一些关于Woocommerce类别显示选项的帮助。在Wordpress仪表板中,我按照以下链接全局设置类别显示选项<外观- 有三种显示选项可用。 展示产品 目前,选择了第三个选项,它显示子类别以及父类别和子类别下的所有产品。但是,我想排除子类别下的所有产品。换句话说,我只想在父类别下显示子类别和产品。 我在几个教程网站上找到了以下片段。代码完全按照我想要的方式工作,但它也禁用了管理产品搜索和
我发现了一个WooCommerce代码片段,它在分类页面上添加了排序功能,并且可以正常工作。 但问题是排序子类别仅显示在父类别页面上,而不显示在子类别页面中。 为了实现这一点,我需要在代码中修改什么? 这是我的密码: 参考:在单独的列表中显示商业类别、子类别和产品
我是初学者(PHP) 我显示这个日期在PHP嵌套'ul'喜欢(代码)- 一切都很好,没有问题。。。。我的问题,如果点击主分类得到我在这个类别中还没有主题。。。。我需要代码来选择用户是否在主类别中选择了主类别回显子类别——如果选择了子类别,则只显示子类别中的数据,或者用户是否在主类别示例中选择了主类别回显主题::我有类别Photosession和子类别- > 通知- 这是我选择帖子的代码 我认为我的
问题内容: 我想在选择 列表(下拉列表)中显示类别,子类别和子子类别,就像WordPress在其管理面板中显示的方式一样。 首先看一下我的数据库表(tb_categories)- 数据库表 我想要以下HTML格式的输出- 输出 两项“无”和“未分类”在代码中进行了硬编码。我 想知道如何 使用选择列表选项以层次结构顺序显示类别及其子类别。 我正在尝试使用自我连接的以下sql查询。这 是- And t
我正在尝试获取子类别的子类别的产品类别 这段代码按层次列出了它们下面的所有顶级类别和子类别,但我有子类别(sub-sub-category)的子类别,因此如何列出这些子类别(使用clic)。 BO中的类别 在FO中列出类别