[解決済み] ベストセラーに画像、価格を正しいマークアップで表示させたい

2012 年 8 月 4 日

ホーム フォーラム 使い方全般 [解決済み] ベストセラーに画像、価格を正しいマークアップで表示させたい

このトピックには4件の返信が含まれ、3人の参加者がいます。5 年、 2 ヶ月前 nanbu さんが最後の更新を行いました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #51732

    tora
    参加者

    ウィジェットを使わずに、ベストセラーを表示させたいのですが、

    過去のフォーラムを参考にテキスト、写真、ランキングアイコンを表示されることができたのですが、出力されたマークアップ(ソース)が気になります。

    正しいマークアップで表示させることと、追加で「商品価格」を表示させるには、「functions.php」をどのようにすれば良いでしょうか。

    -【現状】
    
    = ▽ functions.php =======

    add_filter('usces_filter_bestseller', 'my_bestseller_func', 10, 3);
    function my_bestseller_func() {
    $args = func_get_args();
    list($html, $post_id, $index) = $args;
    $post = get_post($post_id);

    if ( $index == 0 ){
    $img = 'http://www.abc.com/img/common/rank1.gif';
    } elseif ( $index == 1 ){
    $img = 'http://www.abc.com/img/common/rank2.gif';
    } elseif ($index == 2){
    $img = 'http://www.abc.com/img/common/rank3.gif';
    } else {
    }

    $list = usces_the_itemImage(0, 50, 50, $post, 'return' ) . '
    <li><span class="rank"><img src="' . $img . '" alt="" /></span>&nbsp;<a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a></li>
    ';
    return $list;
    }

    = ▽ HTMLソース =======

    <ul>

    <img width="50" height="530" src="http://www.abc.com/aaa-003-150x150.jpg" class="" alt="" title="タイトル1" />
    <li><span class="rank"><img src="http://www.abc.com/img/rank1.gif" alt="" /></span>&nbsp;<a href="http://www.abc.com/item/00/">商品名タイトル1</a>
    </li>

    <img width="50" height="530" src="http://www.abc.com/aaa-003-150x150.jpg" class="" alt="" title="タイトル2" />
    <li><span class="rank"><img src="http://www.abc.com/img/rank1.gif" alt="" /></span>&nbsp;<a href="http://www.abc.com/item/11/">商品名タイトル2</a>
    </li>

    <img width="50" height="530" src="http://www.abc.com/aaa-003-150x150.jpg" class="" alt="" title="タイトル3" />
    <li><span class="rank"><img src="http://www.abc.com/img/rank1.gif" alt="" /></span>&nbsp;<a href="http://www.abc.com/item/22/">商品名タイトル3</a>
    </li>

    </ul>

    -【要望】


    ①<li>タグの前にある<img>を<li>の中に入れたい。

    ②ついでに商品価格も表示させたい。

      

      ↓理想の結果

    = ▽ HTMLソース =======

      <ul>
      <li>
      <img src="" alt="ランキングアイコン" />
      <a href="">商品名タイトル1</a>
      <br />商品価格
      <img src="" alt="商品画像" />
      </li>

      <li>
      <img src="" alt="ランキングアイコン" />
      <a href="">商品名タイトル2</a>
      <br />商品価格
      <img src="" alt="商品画像" />
      </li>
       ・
       ・
       ・
      </ul>

    どうぞ、宜しくお願いいたします。<(_ _)>

    動作に関するご質問の場合は必ずご記入ください。


    WordPress のバージョン:3.5.1

    Welcart のバージョン: 1.1.9.1207244

    ご利用のテーマ:オリジナル

    症状を確認したブラウザ:safari 5.1.7

    サーバー(会社名、サービス名):CORESERVER

    SSLの利用: ○無し | ×専用SSL | ×共用SSL

    WordPress のパーマリンク設定:/%category%/%post_id%/


    #65143

    uishi
    参加者

    素人なので外れてるかもしれませんが、

    ランキングアイコンを取得してる部分がどこにあるか考えることと、

    $postの中身をのぞいてみるですかねprint_r()とか(var_dump()がふつうなのかもしれないですが)

    global $usces宣言して$uscesの中身もついでにのぞいてみる。

    liの前にあるに違いない。

    $post->post_title でタイトルを取得できている。

    #65144

    nanbu
    参加者

    こんにちは。

    $listを次のようにしてみてはどうでしょうか。順番を入れ替えるだけです。その他のタグは適宜挿入してみて下さい。

    $list = '<li><span class="rank"><img src="' . $img . '" alt="" /></span>&nbsp;<a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a>' . usces_the_itemImage(0, 50, 50, $post, 'return' ) . '</li>
    ';

    価格は、usces_the_firstPrice( ‘return’, $post ) で取得できるかと思います。

    #65145

    tora
    参加者

    uishiさん nanbuさん

    ありがとうございます。

    nanbuさんの記述通りにしましたら無事表示できました!

    「usces_the_itemImage(0, 50, 50, $post, ‘return’ ) 」<—最初これを「li」の中に入れてもまったくダメで諦めていたのですが、あれれ、順番なんですね(良かった〜)。

    PHPはまったく分からないので助かりました。価格も無事表示されました。

    成功例を記述しておきます。

    = ▽ functions.php =======

    add_filter('usces_filter_bestseller', 'my_bestseller_func', 10, 3);

    function my_bestseller_func() {
    $args = func_get_args();
    list($html, $post_id, $index) = $args;
    $post = get_post($post_id);

    if ( $index == 0 ){
    $img = 'http://www.abc.com/img/common/rank1.gif';
    } elseif ( $index == 1 ){
    $img = 'http://www.abc.com/img/common/rank2.gif';
    } elseif ($index == 2){
    $img = 'http://www.abc.com/img/common/rank3.gif';
    } else {
    }

    $list = '

    <li><img src="' . $img . '" alt="" /><a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a>&yen;' . usces_the_firstPrice( 'return', $post ). usces_guid_tax( 'return', $post ). usces_the_itemImage(0, 40, 40, $post, 'return' ) . '</li>
    ';
    return $list;

    }

    =====================

    <(_ _)>ありがとうございました<(_ _)>

    #65146

    nanbu
    参加者

    うまく行って良かったです。

5件の投稿を表示中 - 1 - 5件目 (全5件中)

このトピックに返信するにはログインが必要です。