0

特にWP-eCommerceプラグインを使用して、Wordpressで開発を始めたばかりで、いくつかの問題に遭遇しました. 主な問題の 1 つは、2 つ (またはそれ以上) のカテゴリ内の存在に基づいて特定の製品を照会する機能です。この場合、どちらか一方だけではなく、両方のカテゴリに存在する製品のみが返されるようにします。

これは自分で(生のphp)、またはwp_query(またはこれに似たもの)だけで実行できることを理解しています。ただし、必要なスタイリングと冗長コードの量を制限するために、可能な限り WP-eCommerce フレームワーク内にとどまりたいと考えています。

明確にするために、この状況の例は次のようになります。

URL に送信されるクエリ文字列 -http://example.com/?wpsc_product_category=cat1&wpsc_product_category=cat2

これは WP-eCommerce によって送信および処理されますが、最新のwpsc_product_categoryクエリのみを取得し、結果として cat2 内に存在する製品のみを返します。

結論として、私の主な質問は次の 2 つです。

  1. WP-eCommerce フレームワーク内で、クエリを作成して、カテゴリの 1 つだけでなく両方に存在する製品を返すことができるオプションの種類を教えてください。

    • それが不可能な場合、どのような種類のワードプレス オプションを使用できますか?
    • 独自の関数を作成するのはどうですか?
  2. WP-eCommerce 内のクエリ プロセスとは正確には何ですか。少なくとも、クエリ文字列をフォーマットするファイルにアクセスして、両方のカテゴリをクエリできるようにすることができます。

4

2 に答える 2

1

では、誰かが「Soon」と「Skinny」などの 2 つの製品カテゴリに基づいてループを作成したい場合、これでうまくいくのでしょうか? 最初のカテゴリからのすべての結果がまだ表示されています..何か不足していますか?

$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ため、検索対象の 1 つの変数のみを実際に管理するように設計されています。これを回避するに$wp_queryは、独自の関数、複数のクエリを作成するファイルなどで変数をオーバーライドする必要があります。

これは、こちらのワードプレスコーデックスから見つかったコードを利用して行われました

抜粋:

 $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 に答える