【wordpress】一覧でno-image画像を変更する方法【カスタマイズ】




次の3パターンを紹介します。

  1. plugin で ポストのイメージを自動で追加させる方法
  2. theme の no-image を変更する方法
  3. カテゴリごとなど phpを書き換える方法

 

1.plugin で ポストのイメージを自動で追加させる方法

Auto Post Thumnail プラグインを入れれば、
blogのポストにある最初の画像を自動で設定してくれます。

2.theme の no-image を変更する方法

 ~~/wp-content/thems/XXX/images の配下の
no-image.jpgなどを直接サイズを合わせて置き換えます。

だいたい、images フォルダや asset  、 includeなどのフォルダに有ると思います。

探し方


探し方は、 普通にWebブラウザで、自分のブログを表示させ、
その no-image 画像のパスを調べてください。
(私は、 画像を単独で表示させたり、chromeなどのデベロッパーツールを使ったり、
 chromeの view chrome info を使っています)

そのパスの ファイルをftpで
バックアップして、好きな画像に置き換えます。

3.カテゴリごとなど phpを書き換える方法

このやり方は、HTML や phpの基礎がわからない人は
おすすめしません。

①以下を参考に、対象の php を  theme の中から探します。
もちろん自分が適用しているテーマ(外観から分かる)です。

http://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4#.E3.82.AB.E3.83.86.E3.82.B4.E3.83.AA.E3.83.BC.E8.A1.A8.E7.A4.BA

wordpressは、上から優先されて実行されます。
仮にcategory.phpがなかったら
archive.phpをたどります。

カテゴリー表示
カテゴリーアーカイブインデックスページの表示に使用されるテンプレートファイル。

  1. category-{slug}.php - カテゴリーのスラッグが news ならば WordPress は category-news.php を探す。
  2. category-{id}.php - カテゴリー ID が 6 ならば WordPress は category-6.php を探す。
  3. category.php
  4. archive.php
  5. index.php


②繰り返し、blog を 表示させているところを探します。
こんな感じ。

				<?php
				if ( have_posts() ) : $count = 0; ?>

③そこの中で イメージや概要を 位置ポストごとに表示していると思うので
その関数や、ファイルをドンドン辿って探します。

④あとは、no-image.jpg や blank.png らしきもののところを修正します。


一応phpのバックアップをとっておいてください。

単純に置き換えるのであれば、
wp_upload_dir()  関数などが便利です。

次は、カテゴリ名.jpg にする例です。

また、pathは好きに合わせてください。(下はuploadの例)

<?php
function convert_catename_to_filename($catename)
{
 if ($catename === "カテゴリ名") {
 return "settingcategory";
 }else{
 return $catename;
 }
}
?>

         			<?php
			if ( has_post_thumbnail( ) ) {
				the_post_thumbnail( 'codilight_lite_block_2_medium' );
			} else {
				/*echo '<img alt="'. esc_html( get_the_title() ) .'" src="'. esc_url( get_template_directory_uri() . '/assets/images/blank325_170.png' ) .'">';
              */
              //カテゴリに合わせた no  image を表示する。ただし、カテゴリの順序の考慮ができていない。親カテゴリが後ろにあるとうまくいく仕組み。
              $category = get_the_category();
              if (isset($category[0]->category_nicename)) {
                $post_image_uri = wp_upload_dir()['path'];
                $find = FALSE;
                for ($pi = 1 ; $pi < count($category); $pi++){
                  $cate = convert_catename_to_filename($category[$pi]->category_nicename);
                  if (file_exists( $post_image_uri . "/" . $cate . ".jpg")
                      && isset($category[$pi]->category_nicename)) {
                    echo '<img alt="'. esc_html( get_the_title() ) .'" src="'. wp_upload_dir()['baseurl'] . "/" .  $cate . '.jpg" width=325 height=170>';
                    $find = TRUE;
                    break;
                  }
                }

                if (!$find){
                  $cate = convert_catename_to_filename($category[0]->category_nicename);
                  if (file_exists( wp_upload_dir()['path'] . "/" . $cate . ".jpg")){
                    echo '<img alt="'. esc_html( get_the_title() ) .'" src="'. wp_upload_dir()['baseurl'] . "/" . $cate . '.jpg" width=325 height=170>';
                  }else{
                    echo '<img alt="'. esc_html( get_the_title() ) .'" src="'. wp_upload_dir()['baseurl'] . '/runners-635906_640-min.jpg" width=325 height=170>';
                  }
                }
              }
            }
			?>


後は適当に、style.css などの対応をしてください。

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

1,259 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です