category.phpにて在庫有りで商品コード順と金額順に商品一覧リスト表示
フォーラム › テンプレート(テーマ) › category.phpにて在庫有りで商品コード順と金額順に商品一覧リスト表示
-
投稿者投稿
-
2019年9月20日 3:23 PM #88432mai参加者
現在の環境は下記の通りです。
WordPress のバージョン:5.2.2
Welcart のバージョン: 1.9.19
Welcart専用の拡張プラグイン:
ご利用のテーマ:welcart_basic(子テーマ)
症状を確認したブラウザ:chrome
サーバー:(会社名、サービス名)xserver
SSLの利用:(独自 常時SSL)category.phpにて在庫有り&アイテムコード順と金額順に
商品一覧リスト表示を出したいのですがうまくいきません。
どなたかご教示お願い申し上げます。現状は偶然に動作している状態ですが。ページングができていない状態です。
少しずつ勉強をしながら変更を加えていますが・・・・
ここ何日か足踏み状態です。
現状は、function.phpに下記の様にしています。
内容はあちらこちらのサイトより集めて貼り合わせた内容です。//商品コード順に並べる
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’ );
------pre_get_postsに2回フックしています --------
add_action( ‘pre_get_posts’, ‘usces_custom_sort_item’, 10, 1 );
function usces_custom_sort_item( $query ) {
if ( is_admin() || !$query->is_main_query() ) return;
if ( $query->is_search ) {
set_query_var(‘post_type’, ‘post’);
}
if ( $query->is_category() || $query->is_tag() ) {
$args = array();
$sort = isset($_GET[‘sort’]) && is_string($_GET[‘sort’]) ? $_GET[‘sort’] : ”;
if ( $sort ){
if ( $sort == ‘price_asc’ ) { //価格の安い順 ‘price_asc’の値は任意に変更可
$query->set( ‘meta_key’, ‘itemminprice’ );//itemPriceMin
$query->set( ‘orderby’, array( ‘meta_value_num’ => ‘ASC’, ‘date’ => ‘DESC’ ) );
}以下 略category.phpに($_GET[‘sort’])のためのセレクトフォームを設置しています。
category.phpにて在庫が無いものはcontinue;として省いている状態です。
以上のような流れです。
continue;として省区のではなく在庫状況の廃盤のものは、
ソートの段階で省くようにできないものかと模索の日々です。
下記が現在試した最終のコードですがダメでした。
$args = array(
‘post_type’ => ‘post’
, ‘orderby’ => ‘meta_value’
, ‘meta_key’ => ‘itemminprice’
, ‘order’ => ‘ASC’
, ‘meta_query’ => array(
array( ‘key’=>’_isku_’,
‘value’=>'”stocknum”;s:1:”0″‘,
‘compare’=>’NOT LIKE’,
),
array( ‘key’=>’_isku_’,
‘value’=>'”stocknum”;i:0’,
‘compare’=>’NOT LIKE’,
),
‘relation’=>’AND’
)
);$query->set(‘meta_query’ , $args);
どのように設定すれば良いのかご教示下されば幸いです。
宜しくお願い致します。2019年9月21日 7:28 AM #88436mai参加者自己解決致しました。
正しい記述かわかりませんが、
偶然かも知れませんがなんとか動作しています。2019年10月9日 10:40 AM #88608uishi参加者Welcart テンプレートタグ一覧
usces_the_itemZaiko()
で判定して表示だと遅くなるんでしょうか。
テンプレートタグの使い方の間違いになるんでしょうか。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。