[解決済み] ベストセラーに画像、価格を正しいマークアップで表示させたい
-
投稿者投稿
-
2012年8月4日 8:17 AM #51732tora参加者
ウィジェットを使わずに、ベストセラーを表示させたいのですが、
過去のフォーラムを参考にテキスト、写真、ランキングアイコンを表示されることができたのですが、出力されたマークアップ(ソース)が気になります。
正しいマークアップで表示させることと、追加で「商品価格」を表示させるには、「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> <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> <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> <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> <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%/
2012年8月6日 5:31 AM #65143uishi参加者素人なので外れてるかもしれませんが、
ランキングアイコンを取得してる部分がどこにあるか考えることと、
$postの中身をのぞいてみるですかねprint_r()とか(var_dump()がふつうなのかもしれないですが)
global $usces宣言して$uscesの中身もついでにのぞいてみる。
liの前にあるに違いない。
$post->post_title でタイトルを取得できている。
2012年8月6日 9:31 AM #65144nanbuキーマスターこんにちは。
$listを次のようにしてみてはどうでしょうか。順番を入れ替えるだけです。その他のタグは適宜挿入してみて下さい。
$list = '<li><span class="rank"><img src="' . $img . '" alt="" /></span> <a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a>' . usces_the_itemImage(0, 50, 50, $post, 'return' ) . '</li>
';価格は、usces_the_firstPrice( ‘return’, $post ) で取得できるかと思います。
2012年8月7日 3:40 AM #65145tora参加者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>¥' . usces_the_firstPrice( 'return', $post ). usces_guid_tax( 'return', $post ). usces_the_itemImage(0, 40, 40, $post, 'return' ) . '</li>
';
return $list;
}=====================
<(_ _)>ありがとうございました<(_ _)>
2012年8月7日 9:57 AM #65146nanbuキーマスターうまく行って良かったです。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。