Javascript WP电子商务:基于两个类别获取产品(返回仅存在于两个类别中的产品)
我刚开始在Wordpress中开发,特别是使用WP电子商务插件,我遇到了几个问题。其中一个主要问题是能够根据特定产品在两个(或更多)类别中的存在情况查询特定产品。在本例中,我希望返回的产品是两个类别中都存在的产品,而不是一个或另一个 我知道这可以由我自己完成(原始php),也可以只使用wp_查询(或类似的东西)。然而,我希望尽可能地留在WP电子商务框架内,以限制所需的样式和冗余代码的数量 为了澄清,这种情况的一个例子如下: 发送到url的查询字符串-Javascript WP电子商务:基于两个类别获取产品(返回仅存在于两个类别中的产品),javascript,php,wordpress,Javascript,Php,Wordpress,我刚开始在Wordpress中开发,特别是使用WP电子商务插件,我遇到了几个问题。其中一个主要问题是能够根据特定产品在两个(或更多)类别中的存在情况查询特定产品。在本例中,我希望返回的产品是两个类别中都存在的产品,而不是一个或另一个 我知道这可以由我自己完成(原始php),也可以只使用wp_查询(或类似的东西)。然而,我希望尽可能地留在WP电子商务框架内,以限制所需的样式和冗余代码的数量 为了澄清,这种情况的一个例子如下: 发送到url的查询字符串-http://example.com/?wps
http://example.com/?wpsc_product_category=cat1&wpsc_product_category=cat2
然后由WP电子商务发送和处理,但只接受最新的wpsc_产品_类别
查询,因此只返回cat2中存在的产品
总之,我的两个主要问题是:
- 如果这不可能,我可以使用什么样的wordpress选项
- 创建我自己的函数怎么样
在我的一位同事的大力帮助下,这个问题得到了解决 基本上,由于wpecommerce是结构化的,它设计了
WP查询
,以便只真正管理一个要搜索的变量。为了避免这种情况,您需要在您自己的函数中重写$wp\u query
变量,或者在您希望有多个查询的文件中重写该变量,等等
这是通过利用从wordpress codex中找到的代码来完成的
摘录:
$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 );
经过一些修改,这允许我直接访问不同的分类变量关系,并将多个搜索变量串在一起 那么,如果有人想创建一个基于两个产品类别的循环,比如“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();
有几点建议,虽然我不能完全确定,因为我还没有看到你如何建立你的WPE电子商务。这两种分类法都是分类法吗?一个是变种吗?如果是这样,分类法可能不同(wpsc_产品_类别和wpsc变体)?另一个要考虑的事情是尝试输入术语的ID而不是名字,看看那里发生了什么。在这种情况下,我也希望我的字段是基于id的。