2017-11-03 15 views
0

私は簡単なデジタルダウンロードプラグインで電子商取引ストアを構築しています。 私の製品のすべてで1ページを持ちたいとは思っていません。それぞれの製品カテゴリーごとに1ページずつ持っていきたいです。この場合カスタムカテゴリページのwp_query

$per_page = intval(get_theme_mod('bwpy_store_front_count', 9)); 
$offset = $current_page > 0 ? $per_page * ($current_page-1) : 0; 
$product_args = array(
    'post_type'  => 'download', 
    'posts_per_page' => $per_page, 
    'offset'  => $offset, 
    'tax_query' => array(
    array(
    'taxonomy' => 'download_category', 
    'field' => 'id', 
    'terms' => '29' 
    ), 
     ), 
); 
$products = new WP_Query($product_args); 

、EDD-ストアfront.phpが持つすべての製品を表示します。EDD-ストアfront.php、folowing wp_queryコードで - 私はこれまでのテンプレートページできたものを カテゴリID '29'。私のコードで書いたように。 今、デジタルダウンロードにはいくつかのショートコードがあり、表示する製品(ダウンロード)の種類を決定することができます。たとえば: "[downloads category =" 29 "]"カテゴリIDが29のすべての製品が表示されます。 edd-store-front.phpテンプレートを参照するwordpressページでは、ショートコードは何にも影響しません。何らかの理由でテンプレートファイルだけに影響します。 so、私の質問はです。どのようにして、ショートコードを使用して、ダッシュボードのWordPressページで決定されるカスタムカテゴリを表示するストアのすべてのページの単一のテンプレートファイルwp_queryで達成することができますか?

答えて

0

「ページ」を使用しようとしている理由はありますか?つまり、特定のページ動作を必要としていますか?

Digital Download製品のスタイルやレイアウトを変更する場合は、テンプレートファイル名を「taxonomy-download_category.php」にしてください。

この場合、the_pre_get_postsフィルタを使用してposts_per_pageのようなものを変更できます。またはそのテンプレートのカスタムループ。

「ページ」を使用する必要がある場合は、表示するカテゴリのカスタムフィールドを追加することを検討することがあります。あなたはショートコードがこの文脈では何もしません。

+0

ありがとう@squatchmanなぜなら、私はこれが正しい方法だと思ったからです。すべての店舗ページは同じように動作し、異なるデジタルダウンロードと同様にスタイルを設定する必要があります。たとえば、私が店内に3種類のデジタルダウンロードがある場合、それぞれのタイプ(カテゴリ)には関連するデジタル製品のみが表示される独自のページがあります。 – yoD

+0

高度なカスタムフィールドプラグインを使用していますか?多くの変更を加えることなく簡単に行うことができます。 – squatchman

+0

私はacfプラグインを使用しませんでした。今私はこれをチェックしたが、私はちょっと混乱している。私はプラグインだけでそれを行うことができるということを意味しますか?またはtaxonomy-download_category.phpを通してそれを行うには? – yoD