アップデート後のpre_get_postsカスタマイズについて
- このトピックには3件の返信、2人の参加者があり、最後に生まれ年ワインショップにより2年前に更新されました。
-
投稿者投稿
-
2022年9月29日 1:46 PM #98514生まれ年ワインショップモデレーター
Welcart2.7にアップデート時、商品データ更新が途中で止まったので、バックアップから復元し、忙しさにかまけてそのままにしておりました。
Welcart2.8になったとのメールをいただいたので、早めにアップデートしないと!と本日してみたところ、無事商品データも更新できました。さて、表題の件、商品の並び替えをしていた部分は、
カスタマイズ修正の例
https://docs.google.com/document/d/1J1it2LVodJcm7siFtFsNg2OP3aNZ7BE7RjSRliJOBhY/edit#heading=h.13pvk7lpyd5a
を拝見し、見よう見まねでうまくいきました。
ありがとうございました。それと別に、在庫のある商品のみを表示するカスタマイズを次のように行っているのですが、
どのようにカスタマイズ修正をすればよいのか、分かりません。function my_sort_item( $query ) {
if ( is_admin() || ! $query->is_main_query() ) {
return;
}
if ( $query->is_category() ) {
$sort = isset($_GET[‘sort’]) && is_string($_GET[‘sort’]) ? $_GET[‘sort’] : ”;
$cat = isset($_GET[‘cat’]) ? $_GET[‘cat’] : ”;if ( $sort !== ‘zaiko’ ) {
return;
}$args = array(
array(
‘key’ => ‘_isku_’,
‘value’ => ‘”stocknum”;s:1:”0″‘,
‘compare’ => ‘NOT LIKE’,
),
array(
‘key’ => ‘_isku_’,
‘value’ => ‘”stocknum”;i:0’,
‘compare’ => ‘NOT LIKE’,
),
);
$query->set(‘meta_query’ , $args);
}
}
add_action( ‘pre_get_posts’, ‘my_sort_item’, 10, 3);良い方法があれば、教えていただけないでしょうか。
よろしくお願いいたします。WordPress のバージョン:(例 5.94)
Welcart のバージョン:(例 2.8)
PHP のバージョン:(例 7.4)
Welcart専用の拡張プラグインとバージョン:WCEX Multi Price1.2.2 ※1.3.1にアップデートしようとするとエラーになるので、あとでプラグインをダウンロードして入れなおそうと思います。
ご利用の親テーマとバージョン : Welcart Basic 1.7.1
ご利用の子テーマとバージョン : 自身で作成
症状を確認したブラウザ:
サーバー【重要】:カラフルボックス2022年9月29日 2:04 PM #98515生まれ年ワインショップモデレーター在庫ありのみ表示させる部分では
<?php if(isset($_GET[‘sort’]) == ‘zaiko’){ echo ‘checked’;} ?>>
としていますが、全てのワインが消えてしまうため
今は非表示にしました。2022年10月3日 11:58 AM #98538ikedaキーマスター生まれ年ワインショップ 様
こんにちは。
Welcart2.7 以降は、SKU情報は postmetaテーブルからではなく、
usces_skusテーブルから取得する必要があります。
そのため、usces_skusテーブルを結合(JOIN)する必要があります。
恐れ入りますが修正方法のレクチャはできかねますので、
カスタマイズの修正例のテーブル結合(JOIN)箇所をご参考にしていただけたらと思います。2022年10月3日 4:58 PM #98549生まれ年ワインショップモデレーターかしこまりました。
ありがとうございます。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。