忍者ブログ
24 November

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

27 May

welcart 商品一覧カテゴリーページの初期値並び替え

商品一覧カテゴリーのソートがしたけりゃ有料拡張プラグイン(4000円)買えよっていうのが
welcartの出方です。

http://goo.gl/SNlAvg
「商品一覧ページでの商品の並び順変更」welcartフォーラムより

function getcatorder( $query ) { if ( is_admin() || ! $query->is_main_query() ) 
return;
if ( $query->is_category() ) {
$query->set( 'posts_per_page', '-1' );
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', '_itemCode' );
$query->set( 'order', 'ASC' );
return;
}
}
add_action( 'pre_get_posts', 'getcatorder' );

この記述を参考に、自分がしたい初期値に変えます。
http://www.understandard.net/wordpress/wp009.html
このサイトを参考に私はこう変えました。

    if ( $query->is_category('スラッグ名') ) {
        $query->set( 'posts_per_page', '-1' );
        $query->set( 'orderby', 'date' );
        //$query->set( 'meta_key', '_itemCode' );
        $query->set( 'order', 'DESC' );
        return;


特定のページだけ並び順を変えたかったので、
category()の括弧の中にスラッグ名をいれています。
並び順は日付(date)の新しい順(DESC)にしました。
ある程度任意で記事を並び替えたいなら、この並び順設定にして
商品編集画面で公開日時をいじるのが早いかなと思います。



welcartの商品一覧の並びの初期値は記事ID順(DESC)です。
適当に商品登録をしてるとぐっちゃぐちゃになります。
カスタムフィールドの値を使ってソートできるそうですが、
肝心の価格ソートは、価格がカスタムフィールドではないため自力でやろうとしたら
何やら激ムズらしいです(公式回答)。有料拡張プラグイン買えよってことらしいです。

検索するとwelcartで並び替えソートのセレクトボックスを作ってる方がいました。
でもこのかたも価格をカスタムフィールドに入れて登録するしかないか・・・といっております。
価格でソートできなければソートをつける意味すらないと思います。
このお店なんで価格ソートないの?って思いますよね。
そう思われるなら最初から全ソートないほうがマシですよ。
そして全価格をカスタムフィールドに入れなおす苦行をするなら
4000円で有料拡張プラグイン買いますよ。

お客が使うソートはともかく、初期値の並びさえ素直にできないイラつき加減。
記事の並び替えが管理画面でできる便利そうな国産プラグイン
Intuitive Custom Post Order を発見しましたが、
welcart商品一覧では動作せず!!

ついでにAdvanced Custom Field もwelcart商品編集画面で使えません!!
なんかね、welcartは色々と無理やり独自に作ってるらしくて、
他のプラグインとの影響ありまくりなんだよね。

*追記
Intuitive Custom Post Orderを有効化したまま放置してたら ’orderby’ 指定がきかなくなり無意味に悩むはめになった。

functions.phpに書き込んだカテゴリーページへの商品一覧並び替えへの指定は効くが、
トップページに直接書き込んだorderbyがうんともすんとも言わず。
テストサイトでは動くのに本サイトでは動かない。
既に稼動してるサイトのためいじりまくれないので、以前めんどくさくて投げた
XAMMPにもう一度挑み本サイトをコピーしたローカル環境を整えることに・・・。
(ここでも相当イライラする。サーバー移管とあまり変わらないイライラ度)

結果的に「そういえば並び替えのプラグインで、強制的に色々効かさないように
ユーザーの意見取り入れて変更してたな・・・ちょっとやりすぎじゃない?とか
読んでて思っていたけど・・・あれ!もしかしてこれか!!!!!」
と思ってプラグインを停止したらどんぴしゃでした。

はああ・・・・・
使用をやめた不要なプラグインは停止か削除しとくべきですね。
使ってなくても他に干渉してくることもあるってことがよくわかりました。



PR