商品画像が無い時「No Image」画像を自動挿入するには
-
投稿者投稿
-
2011年9月13日 4:53 PM #50662akemi参加者
いつも大変お世話になっております。
商品画像が無い時に「No Image」画像を自動挿入するにはどのように設定すれば宜しいでしょうか?
2011年9月14日 2:08 AM #62834nanbuキーマスターこんにちは。
メイン画像のみ、画像が無い場合はWordPress のdefault.gif を表示するよう仕様を変更しました。Development Version をご利用下さい。
なお、default.gif の格納ディレクトリパスを変更するための’icon_dir’というフックがWordPress に用意されていますので適宜ご利用下さい。
2011年9月14日 10:13 AM #62835akemi参加者こんにちは!
早速、Development Versionを変更して頂きありがとうございます。無事、WordPress のdefault.gif が表示されました。
作成したイメージ画像を表示したく、初心者ながらアドバイス通りdefault.gif の格納ディレクトリパスを変更するための’icon_dir’というフックを設置しようとして色々調べましたが、すみません、全然判りませんでした。具体的にどうすればいいか教えて頂けると幸いです。
どうぞ宜しくお願いします。
2011年9月15日 1:00 AM #62836nanbuキーマスター例えばこんな感じです。
add_filter('icon_dir', 'my_icon_dir');
function my_icon_dir(){
return get_stylesheet_directory() . '/images';
}2011年9月15日 9:12 AM #62837akemi参加者具体的に教えて頂きありがとうございます。テーマのfunctions.php に追加して image を指定しましたが、うまくいきません。
テーマはtwentyten の子テーマで、子テーマにはfunctions.phpをフォルダーに入れていません。
twentyten のfunctions.php に追加したところ、default.gifが非表示になってしまったので、もう少し勉強してからやってみます。私にはかなり時間が掛かりそうなのですが、できたら連絡します。
2011年9月16日 1:08 AM #62838nanbuキーマスター上のコードは親テーマには使えません。子テーマにfunctions.php を作成してそこに書いてください。
親テーマに置きたい場合は get_stylesheet_directory() を get_template_directory_uri() に書き換えると使えます。またその場合イメージも親のテーマ内に置かなくてはいけません。
ただ、twentyten をアップグレードすると消えてしまいますので、子テーマを使うのが良いと思います。
2011年9月18日 12:10 PM #62839akemi参加者子テーマに下記コードを入れて、functions.php を作成しました。
<?php
add_filter(‘icon_dir’, ‘my_icon_dir’);
function my_icon_dir(){
return get_stylesheet_directory() . ‘/images/no-image.png’;
}
?>
しかし、WP の、icon_dir が消えるだけで、子テーマのimages フォルダーに入れた、画像「no-image.png」は表示されません。
画像の指定が間違えているのでしょうか?
2011年9月20日 4:36 AM #62840nanbuキーマスターファイルは指定できません。
フック’icon_dir’ はディレクトリパスにしかフィルタリングできませんので、return はget_stylesheet_directory() . ‘/images’ となります。
また、images フォルダに設置する画像ファイル名はdefault.gif でなくてはいけません。
2011年9月20日 8:31 AM #62841akemi参加者なるほど!ありがとうございます。アドバイス通りにやってみました。
しかし、画像がリンク切れで表示されます。
子テーマのimages フォルダに、画像名をdefault.gifにしたオリジナル画像を設置しましたが違うのでしょうか?
コードはアドバイス頂いた上記を子テーマに設置したfunctions.phpに、コピペしました。画像は、親テーマのtwentyten、welcart_default、それぞれのimages フォルダーにも設置してみましたが、ダメでした。
アドバイス頂けると幸いです。宜しくお願いします。
2011年9月21日 1:36 AM #62842nanbuキーマスター失礼しました。ちゃんと検証しなくちゃいけないですね(^^;
フックは’icon_dirs’ を使用する事になります。但し、WordPress が利用するicon フォルダを変更する事になるので、まずは同じファイルを用意する事になります。下記のフォルダを中のファイルごと、子テーマのimages の中にコピーしてください。
wp-includes/images/crystal
コピーしたファイル、テーマフォルダ/images/crystal/default.gif とテーマフォルダ/images/crystal/default.png をオリジナルのものに差し替えます。
最後に下のフィルターを設置します。
add_filter('icon_dirs', 'my_icon_dirs');
function my_icon_dirs(){
$icon_dir = get_stylesheet_directory() . '/images/crystal';
$icon_dir_uri = get_stylesheet_directory_uri() . '/images/crystal';
$icon_dirs =array($icon_dir => $icon_dir_uri);
return $icon_dirs;
}これでどうでしょうか。
将来的には、もっと簡単にWelcart 専用のNoImage を指定できるようにしたいと思います。
よろしくお願いします。
2011年9月21日 9:41 AM #62843akemi参加者ありがとうございます!
しかし、午前中まで普通に動いていたマルチサイトが、夕方再度立ち上げると物凄く時間が掛かり、急に全部開かなくなってしまいました。何故か原因が判らず四苦八苦中です。
それまでにやった事は、Aのサイトのカートの中に表示されているBのサイトの商品を削除しただけです。
ログインもしていません。
画像の設置までちょっと時間が掛かりそうですが、頑張って直してやってみます。。。
2011年9月21日 1:51 PM #62844akemi参加者できました!
その後、サーバーを再起動したらサイトが表示され一安心して早速作業したらできました。
(まだ原因は判りませんが、恐らくデーターベースだと思います。)
そして、アドバイス通りにしてみたところ、NoImage が表示されました。
時間が掛かった上トラブルの後だったので、かなり感動です。
>将来的には、もっと簡単にWelcart 専用のNoImage を指定できるようにしたいと思います。
簡単にできると便利になりますね。
いつかマルチサイトにも対応されることも期待しております。
今後も利用させて頂きますので、どうぞ宜しくお願いします^-^
-
投稿者投稿
- このトピックに返信するにはログインが必要です。