我刚刚开始在Wordpress中开发,特别是使用WP-eCommerce插件,我遇到了几个问题。其中一个主要问题是能够根据特定产品在两个(或更多)类别中的存在情况来查询特定产品。在这种情况下,我希望返回的唯一产品是两个类别中存在的产品,而不仅仅是一个或另一个。
我知道这可以在我自己的(原始的php)或只是wp_query(或类似的东西)上完成。但是,我希望尽可能保持在WP-eCommerce框架内,以限制所需的样式和冗余代码量。
对于某些澄清,这种情况的一个例子是这样的:
发送到网址的查询字符串 - http://example.com/?wpsc_product_category=cat1&wpsc_product_category=cat2
然后由WP-eCommerce发送和处理,但只接受最新的wpsc_product_category
查询,因此只返回cat2中存在的产品。
因此,总之我的两个主要问题是:
在WP-eCommerce框架中,我可以使用哪种选项来进行查询并返回两者中存在的产品,而不仅仅是其中一个类别。
WP-eCommerce中的查询流程究竟是什么。至少,我可以访问格式化查询字符串的文件,并让它查询两个类别。
答案 0 :(得分:1)
那么,如果有人想根据两个产品类别创建一个循环,比如说“Soon”和“Skinny”,这应该有用吗?它给了我第一类的所有结果仍然是......我错过了什么?
$args = array(
'post_type' => 'wpsc-product',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'Soon'
),
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'Skinny'
)
)
);
$wp_query = new WP_Query( $args );
while( $my_query->have_posts() ) : $my_query->the_post();
答案 1 :(得分:0)
这是在我的一位同事的大力帮助下解决的。
基本上,由于wpecommerce是结构化的,它设计WP-Query
只能真正管理一个要搜索的变量。为了避免这种情况,你需要在你自己的函数中覆盖$wp_query
变量,你希望有多个查询的文件等等。
这是通过利用wordpress codex here
中的代码完成的摘录:
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'movie_genre',
'field' => 'slug',
'terms' => array( 'action', 'comedy' )
),
array(
'taxonomy' => 'actor',
'field' => 'id',
'terms' => array( 103, 115, 206 ),
'operator' => 'NOT IN'
)
)
);
$wp_query = new WP_Query( $args );
通过一些修改,这使我可以直接访问不同的分类变量关系,并将多个搜索变量串联在一起。