灵感来自于获取与子类别的WooCommerce类别,我正在创建一个下拉部分,我想知道是否有任何方法从父类别中删除永久链接,如果它有一个子类别。
下面是我的代码示例:
<?php
$args = array(
'taxonomy' => 'product_cat',
'hide_empty' => false,
'parent' => 0
);
$product_cat = get_terms( $args );
$thumbnail_id = get_woocommerce_term_meta( $term_id, 'thumbnail_id', true );
$image = wp_get_attachment_url( $thumbnail_id );
foreach ($product_cat as $term){
$term_link = get_term_link( $term, 'product_cat' );
$thumb_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true );
$img_src = wp_get_attachment_url( $thumb_id );
//if parent category has children remove link
echo '<ul>
<li><img src="' . $img_src . '"/><a href="'.get_term_link($term->term_id).'">'.$term->name.'</a>
<ul>';
// else keep the parent link
$child_args = array(
'taxonomy' => 'product_cat',
'hide_empty' => false,
'parent' => $term->term_id
);
$child_product_cats = get_terms( $child_args );
foreach ($child_product_cats as $child_product_cat){
echo '<li><a href="'.get_term_link($child_product_cat->term_id).'">'.$child_product_cat->name.'</a></li>';
}
echo '</ul>
</li>
</ul>';
}
只有在没有子术语的情况下,如何显示顶级产品类别术语的链接?
以下内容将显示产品类别术语列表,如果顶级术语有任何子术语,则不会链接这些术语:
<?php
$taxonomy = 'product_cat';
$parent_terms = get_terms( array(
'taxonomy' => $taxonomy,
'hide_empty' => false,
'parent' => 0
) );
echo '<ul>';
// Loop through top level terms
foreach ( $parent_terms as $parent_term ) {
$term_link = get_term_link( $parent_term, 'product_cat' );
$thumb_id = get_woocommerce_term_meta( $parent_term->term_id, 'thumbnail_id', true );
$image_html = $thumb_id > 0 ? '<img src="' . wp_get_attachment_url( $thumb_id ) . '"/>' : '';
// Get children terms
$child_terms = get_terms( array(
'taxonomy' => $taxonomy,
'hide_empty' => false,
'parent' => $parent_term->term_id
) );
// 1. There are children terms
if( ! empty($child_terms) ) {
echo '<li>' . $image_html . $parent_term->name . '</li>
<ul>';
// Loop through children terms
foreach ( $child_terms as $term ) {
$term_link = get_term_link( $term->term_id, $taxonomy );
echo '<li><a href="' . $term_link . '">' . $term->name . '</a></li>';
}
echo '</ul>';
}
// 2. There are NOT children terms
else {
$parent_term_link = get_term_link( $parent_term->term_id, $taxonomy );
echo '<li>' . $image_html . '<a href="' . $parent_term_link . '">' . $parent_term->name . '</a></li>';
}
}
echo '</ul>';
测试和工作。
我有以下代码,用于从WooCommerce产品类别小部件中删除除管理员和批发客户(自定义用户级别)之外的所有用户的“批发类别”(通过slug)。 这非常好,但是它只删除了父类别,留下了所有的子类别。我如何也删除“批发类别”的子类别? 谢啦
你在为它做什么?我在文件末尾(wp-content/plugins/woocommerce/woocommerce.php)写了这个字符串: 但当我从购物车中删除项目时,它就不起作用了! 但也不起作用
在woocommerce中,我有两种发货方式,统一费率标准(方法1)和统一费率特快专递(方法2)。两个产品类别,X和Z,只能使用方法1,所以如果购物车包含任何来自类别X或Z的物品,我想在结帐时从发货选项中隐藏方法2。 我搜索了Stackoverflow,发现这篇文章隐藏了Woocommerce中特定产品的特定运输方法,并试图应用答案,但没有成功。我相信下面的代码是合适的。 运输方式2的id为5,产
我在购物车和结账页面中显示Woocommerce产品类别。然而,我试图让它只显示文本,并防止它被“点击”-即删除链接。 我试过用浏览器工具检查,用CSS删除,但没有成功。-感谢您的帮助! 以下是用于在签出页面中显示类别的代码:
我正在与woocommerce建立电子商务网站。我在父类别下划分了子类别。我上传每个子类别的产品,不仅选择子类别,还选择父类别。但是,当我单击父类别时,我看不到任何产品。我只能在子类别中看到。例如,我有“手表”
我正在边栏和页脚小部件区域使用woocommerce产品类别小部件。 我有两个家长类别。我想这些被显示,但不是可点击的链接。 你可以在这里看到这一页http://www.terrykirkwood.co.uk/w 有人能建议添加什么css来阻止这些链接被点击吗? 谢谢 以下是第一次出现的代码: