[解決済み] ベストセラーウィジェットに画像と順位の表示
- このトピックには7件の返信、2人の参加者があり、最後にgabgabにより13年、 10ヶ月前に更新されました。
-
投稿者投稿
-
2011年1月11日 2:45 AM #50190gabgab参加者2011年1月11日 3:53 AM #61243nanbuキーマスター
こんにちは。
フィルターフックusces_filter_bestseller は、usces_widget_bestseller_auto_text を上書きしてしまいます。
リストタグ
<li>
を含めて全て書き換えてしまいたい場合にusces_filter_bestseller を利用します。ですので、順位番号と画像の両方を含めたい場合はusces_filter_bestseller を利用するのが良いと思います。
2011年1月11日 4:55 AM #61244gabgab参加者アドバイスありがとうございます。
このように記述したら両方表示されるようになりました。
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);
$list = usces_the_itemImage(0, 40, 40, $post, 'return' ) . '<li>第' . ($index+1) . '位<a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a></li>';
return $list;
}もう一つ質問なのですが、
この順位をテキストの代わりに画像にするにはどうしたらよいでしょうか?
仮に、上位3位まで表示するとして、
1位には金の王冠アイコン(gold.png)
2位には銀の王冠アイコン(silver.png)
3位には銅の王冠アイコン(bronze.png)
といった感じです。
2011年1月11日 8:52 AM #61245nanbuキーマスター$index が0からの連番となっています。したがって、
$index が0 の場合はgold.png を表示
$index が1 の場合はsilver.png を表示
$index が2 の場合はbronze.png を表示
$index が3 以上の場合は文字で表示
というような条件分岐にすれば良いと思います。
2011年1月11日 9:08 AM #61246gabgab参加者なるほど、アドバイスありがとうございます。
表示させられるように頑張ってみます!
2011年1月17日 12:59 AM #61247gabgab参加者こんにちは。
アドバイスを頂き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://sample.jp/wordpress/wp-content/themes/welcart_default/images/gold.png';
} elseif ( $index == 1 ){
$img = 'http://sample.jp/wordpress/wp-content/themes/welcart_default/images/silver.png';
} elseif ($index == 2){
$img = 'http://sample.jp/wordpress/wp-content/themes/welcart_default/images/bronze.png';
} else {
}
$list = usces_the_itemImage(0, 40, 40, $post, 'return' ) . '<img src="' . $img . '" />
<li>第' . ($index+1) . '位<a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a></li>
';
return $list;
}このようにしたら順位、商品画像、アイコン全て表示されるようになりました。
更に質問なのですが、
URLの部分をthemeフォルダまでのパスを取る関数
bloginfo('template_directory')
で置き換えようと思ったのですが何度やってもうまく表示されないようです。
ただ単に書き方が間違っているのかもしれませんが、アドバイス頂けないでしょうか?
if ( $index == 0 ){
$img = bloginfo('template_directory') .'images/gold.png';このように記述していました。
2011年1月17日 4:00 AM #61248nanbuキーマスターこんにちは。
申し訳ありません。
質問内容が異なる場合は新たにトピックを立てていただきたいのです。
よろしくお願いいたします。
2011年1月17日 4:38 AM #61249gabgab参加者申し訳ございませんでした。
新たにトピックを立てさせていただきます。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。