[解決済み] 検索結果の表示内容の変更

フォーラム 使い方全般 [解決済み] 検索結果の表示内容の変更

  • このトピックには3件の返信、2人の参加者があり、最後にたおにより11年、 9ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #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件)は枠の中が真っ白で何も表示されない)

    アドバイスをいただけませんでしょうか?

    よろしくお願いいたします。

    #64880
    nanbu
    キーマスター

    こんにちは。

    return $html; の位置が悪いだけかと思います。

    下の} のその下に無くてはいけないものです。

    #64881
    たお
    参加者

    nanbu様

    ありがとうございます。

    下からの3行を

    }
    return $html;
    }

    に変えたのですが、以前と同じく売切れ商品には売価(通常価格があるものには通常価格も)が表示され、【売切れ】の表示がされません。

    他に何か考えられることがございますでしょうか?

    よろしくお願いいたします。

    #64882
    たお
    参加者

    お世話になります

    もう一度、最初からコードをすべて書き直し再UPしたところ、売り切れの無事【売り切れ】の表示がされるようになりました。

    (divタグが一つ不足していました)

    ただ、CSSでの表示がうまくいかない状態ですが、そちらのほうは何とかなりそうですので、こちらのトピに関しましては、解決済みに変更しました

    お忙しい中、お騒がせいたしましたこと、お詫びいたします

    ありがとうございます

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。