0

我刚开始在 Wordpress 中开发,特别是使用 WP-eCommerce 插件,我遇到了几个问题。主要问题之一是根据特定产品在两个(或更多)类别中的存在来查询特定产品的能力。在这种情况下,我希望返回的唯一产品是同时存在于两个类别中的产品,而不仅仅是其中一个。

我知道这可以由我自己(原始 php)或仅使用 wp_query(或类似的东西)来完成。但是,我想尽可能地留在 WP-eCommerce 框架内,以限制所需的样式和冗余代码的数量。

为了澄清一下,这种情况的一个例子是这样的:

发送到 url 的查询字符串 -http://example.com/?wpsc_product_category=cat1&wpsc_product_category=cat2

然后由 WP-eCommerce 发送和处理,但只接受最近的wpsc_product_category查询,因此只返回 cat2 中存在的产品。

所以,总而言之,我的两个主要问题是:

  1. 在 WP-eCommerce 框架中,我可以使用哪些选项来进行查询并返回同时存在于这两个类别中而不仅仅是其中一个类别的产品。

    • 如果那不可能,我可以使用什么样的 wordpress 选项
    • 创建我自己的函数怎么样?
  2. WP-eCommerce 中的查询过程到底是什么。至少,我可以访问格式化查询字符串的文件并让它查询两个类别。

4

2 回答 2

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();
于 2013-02-12T20:58:33.970 回答
0

在我的一位同事的大力帮助下,这个问题得以解决。

基本上,由于 wpecommerce 是结构化的,它设计WP-Query为只真正管理一个变量来搜索。为了避免这种情况,您需要$wp_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 );

通过一些修改,我可以直接访问不同的分类变量关系并将多个搜索变量串在一起。

于 2013-02-05T15:08:43.797 回答