2017-03-09 13 views
0

私はこのWooCommerceの製品を追加プラグインなしでフィーチャーやタグでソートするには?

[product_category category="products" orderby="title" order="asc"] 

などの製品カテゴリを一覧表示するショートコードを使ってどのように私は注目の製品がリストの一番上にも作ることができるだろうよ?それはorderby parameterと関係がありますが、私は考えていません。

第三者のプラグインを提案しないでください。
さらに詳しい情報:WooCommerce公式docs

+0

ショートコードが必要な場合や、 'WP_Query'でもやりますか? –

+0

私はショートコードが好きです。 – Cowboy

答えて

0

製品は、非特殊製品の機能を備えた製品のyesnoとして設定されている_featuredなどのカスタムフィールドを持ちます。だからあなたは を使用することができますwoocommerce_shortcode_products_queryフィルターを上書きする WooCOmmerceショートコード。

add_filter('woocommerce_shortcode_products_query', 'wh_woocommerce_shortcode_products_orderby'); 

function wh_woocommerce_shortcode_products_orderby($args) 
{ 

    $standard_array = ['menu_order', 'title', 'date', 'rand', 'id']; 
// print_r($args['orderby']); 
    if (isset($args['orderby']) && !in_array($args['orderby'], $standard_array)) 
    { 
     $args['meta_key'] = '_featured'; 
     $args['orderby'] = 'meta_value_num'; 
    } 
// print_r($args); 
    return $args; 
} 

コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルになります。また、任意のプラグインのPHPファイルにもあります。

非装備(noにすなわち、フォームyes)に特色製品形態を一覧表示するにはUSAGE

[product_category category="products" orderby="_featured" order="DESC"] 

は注意して下さい::上記のコードが動作しているようだが、あなたは印刷する場合$args['orderby']_featuredのキーが表示されないので、ハードコードされています。それは$argsです。これは標準的な方法ではありません

希望すると便利です。

+0

残念ながら、doestに影響があるようです。彼らはちょうどZからAにソートされています。 – Cowboy

+0

私は私の答えを更新しました、それは働いているようですが、私はもう一度すぐに私の答えを改訂します。あなたがこれを使うことができるその時まで。 –

+0

これは、リフレッシュごとにランダムにソートされているようです。 – Cowboy

関連する問題