我正在开发一个插件,它将放在我的woocommerce产品侧栏中。我需要的是,给定产品id/对象,它将找到2个具有我以前创建的相同自定义分类法的产品。
通过这段代码,我得到了产品中使用的术语列表,其中“colline”是自定义分类法:
get_the_term_list( $product->id, 'collane', '<div style="direction:rtl;">', '</div>', '' );
问题是我不知道如何获取自定义分类id,以及如何根据自定义分类对其进行过滤。
我已经使用WP_Query查找同一类别的产品,代码如下:
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => $atts['limit'],
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'term_id', //This is optional, as it defaults to 'term_id'
'terms' => $cat_id,
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
),
array(
'taxonomy' => 'product_visibility',
'field' => 'slug',
'terms' => 'exclude-from-catalog', // Possibly 'exclude-from-search' too
'operator' => 'NOT IN'
)
)
);
如何更改代码以获得所需的分类id/对象,然后在WP_查询中使用它?
您应该尝试以下WP\u查询
$args
,该查询将允许从相同的“collane”自定义分类中获取两个与当前产品具有相同术语的其他产品。
我正在使用wp\u get\u post\u terms()
WordPress函数从特定的自定义分类中获取post(这里是“产品”自定义post类型)中的术语ID。
守则:
$taxonomy = 'collane'; // The targeted custom taxonomy
// Get the terms IDs for the current product related to 'collane' custom taxonomy
$term_ids = wp_get_post_terms( get_the_id(), $taxonomy, array('fields' => 'ids') ); // array
$query = new WP_Query( $args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => 2, // Limit: two products
'post__not_in' => array( get_the_id() ), // Excluding current product
'tax_query' => array( array(
'taxonomy' => $taxonomy,
'field' => 'term_id', // can be 'term_id', 'slug' or 'name'
'terms' => $term_ids,
), ),
);
// Test count post output
echo '<p>Posts count: ' . $query->post_count . '</p>';
// The WP_Query loop
if ( $query->have_posts() ):
while( $query->have_posts() ):
$query->the_post();
// Test output
echo '<p>' . $query->post->post_title . ' (' . $query->post->ID . ')</p>';
endwhile;
wp_reset_postdata();
endif;
我已经为“产品”帖子类型注册了两个分类法。称他们为帕乌品牌 我已经创建了一个前端表单来编辑通过URL参数获取产品数据的产品。 我需要的是获得 以下仅适用于单个产品页面,因此我可以获得与产品相关的正确术语。 但如果页面不是单一产品,则为,我得到两个
我尝试了许多方法,但我无法显示具有类别名称或id的产品
我想让下面的代码对我的自定义posttype(产品类型)进行排序。因此,我的活动页面将只显示“油”一词的帖子,而不是“燃料”和“轮胎”。 //编辑,作为对以下3个答案的回复 我假设foreach循环是WP_查询方法的替代,但是tax_查询对我来说是新的,现在我知道它存在,我在codex中查找了它,但是它仍然不起作用。我诚实地认为,这就像我在tax_查询中错误地命名一样简单,因此我将在这里显示我的分
我试图在woocommerce中获得一个特定的自定义属性。我在这个网站上读了很多文章,其中提供了3-5种方法。在尝试了所有方法之后,对我来说唯一有效的方法就是循环所有属性——所有其他属性都不起作用。我有一个名为“pdfs”的自定义属性 以下尝试不起作用:(链接) 这是唯一的一个工作:(链接) 我更希望能够使用第一个选项之一。任何帮助都将不胜感激。谢谢
问题内容: 在Woocommerce中,我试图获取产品自定义属性值,但我失败了,我一无所获。 所以我尝试了: 我正在获取这些原始数据: 我知道有一个值,因为它显示在属性部分,但是我只是找不到一种方法来将其显示在我的自定义代码中。 问题答案: 编辑* : 自Woocommerce版本3起已弃用 * 按照@datafeedr在他的答案中写道: 甚至更紧凑: 原始答案:
在WooCommerce中,我试图获得产品自定义属性值,但我失败了,什么也得不到。 所以我试着: 我得到了这些原始数据: 我知道有一个值,因为它显示在属性部分,但我就是找不到一种方法用我的自定义代码显示它。