[解決済み] 検索結果の表示内容の変更
-
投稿者投稿
-
2012年7月2日 7:11 AM #51644たお参加者
動作に関するご質問の場合は必ずご記入ください。
WordPress のバージョン:3.32
Welcart のバージョン:1.17
ご利用のテーマ:デフォルトをリメイク
症状を確認したブラウザ:IE8
サーバー(会社名、サービス名):さくらインターネットスタンダードプラン
SSLの利用: 無し
WordPress のパーマリンク設定:/%category%/%postname%
お世話になります
検索結果ページ(商品カテゴリー複合検索ではありません)の表示を変更しています。
検索結果に商品画像、商品名、売価、定価のある場合は定価、そして、在庫切れの場合は売価と定価の変わりに【売切れ】表示をしたいと思っております。
フックを使って下記のように
書いてみたのですが、
売切れの商品にも、売価(定価のあるものは定価も)が表示されて【売切れ】表示がされません
add_filter( 'usces_filter_item_list_loopimg', 'my_filter_searchpage', 10, 2);
function my_filter_searchpage($html, $content){
global $post , $usces;
$html = '<div class="mysearch_box"><a href="' . get_permalink($post->ID) . '">' . usces_the_itemImage(0, 150, 150, $post, 'return');
$html .= '<div class="mysearch_title">' . usces_the_itemName( 'return' ) . '</div></a>';
if (usces_the_itemZaiko('return') == '売切れ'){
$html .= '<div class="price">';
$html .= usces_the_itemZaiko('return') . '</div>';
}else{
if (usces_the_firstCprice('return') > 0) {
$html .= '<div class="reg_price">';
if( function_exists('usces_crform') ){
$html .= usces_crform( usces_the_firstCprice('return'), true, false, 'return' );
}else{
$html .= __('$', 'usces') . number_format(usces_the_firstCprice('return'));
}
$html .= $usces->getGuidTax() . '</div>';
}
$html .= '<div class="price">' . usces_crform( usces_the_firstPrice('return'), true, false , 'return' );
$html .= $usces->getGuidTax() . '</div>' . '</div>';
return $html;
}
}また、
global $post , $usces;
の下に
usces_have_skus();
を入れると、在庫のある商品のみ表示され、在庫切れの商品は表示されません。
なお、CSSでグリッド型の表示に変更しているのですが、その際にはグリッドの外枠は検索結果に表示されるべき数量は表示されています
(検索結果が6件ある場合で売り切れ商品が4件の場合
グリッドの枠は6件ある、そのうち2件(在庫ありの商品)は正常に価格表示がされています、在庫切れの商品(4件)は枠の中が真っ白で何も表示されない)
アドバイスをいただけませんでしょうか?
よろしくお願いいたします。
2012年7月3日 4:54 AM #64880nanbuキーマスターこんにちは。
return $html;
の位置が悪いだけかと思います。下の} のその下に無くてはいけないものです。
2012年7月3日 6:32 AM #64881たお参加者nanbu様
ありがとうございます。
下からの3行を
}
return $html;
}に変えたのですが、以前と同じく売切れ商品には売価(通常価格があるものには通常価格も)が表示され、【売切れ】の表示がされません。
他に何か考えられることがございますでしょうか?
よろしくお願いいたします。
2012年7月4日 1:48 AM #64882たお参加者お世話になります
もう一度、最初からコードをすべて書き直し再UPしたところ、売り切れの無事【売り切れ】の表示がされるようになりました。
(divタグが一つ不足していました)
ただ、CSSでの表示がうまくいかない状態ですが、そちらのほうは何とかなりそうですので、こちらのトピに関しましては、解決済みに変更しました
お忙しい中、お騒がせいたしましたこと、お詫びいたします
ありがとうございます
-
投稿者投稿
- このトピックに返信するにはログインが必要です。