自分流

なんちゃってエンジニアによる自分用メモ

WordPress

WordPressでアイキャッチを記事の最初の画像にする方法

投稿日:

FF14が楽しすぎて久々の投稿となりました。

今回は表題の通りWordPressのアイキャッチをいちいち登録するのめんどくさいな~
記事の最初の画像でいいのにな~

という時のためのメモです。

 

私の環境ではテーマはstinger8の子テーマを使用していますので、それ基準で話します。

まずはfunction.phpで記事の最初の画像を引っ張る関数を定義します。

 

記事内の最初の画像(画像名)取得の関数

まずは記事の最初の画像は何か?その画像名を取得する必要があります。

テーマフォルダの中のfunction.phpに以下を追記します。

記事の中のHTMLから以下を正規表現で抜き出してます。
<img src=”なんかの文字.なんかの文字”>

 

PHPの話なので長々と解説してもアレなので簡単に。

例えば記事に以下の画像埋め込みタグがあった場合

“<img class=”alignnone size-medium wp-image-505″ src=”https://kazy.work/wp-content/uploads/2018/08/ff_install_01-300×188.jpg” alt=”” width=”300″ height=”188″ /></a>”

preg_match()の結果$matchesには

[0]

“<img class=”alignnone size-medium wp-image-505″ src=”https://kazy.work/wp-content/uploads/2018/08/ff_install_01-300×188.jpg” alt=”” width=”300″ height=”188″ /></a>”

[1]

“https://kazy.work/wp-content/uploads/2018/08/ff_install_01-300×188.jpg”

という文字が入ります。

[1]“https://kazy.work/wp-content/uploads/2018/08/ff_install_01-300×188.jpg”
が使いたい画像パスなので、これを使いましょう。

catch_that_imageは、といった意味の関数です。

 

画像を埋め込む

上の関数はあくまで関数の定義だけなので、実際に画像を挿入する部分で使う必要があります。

記事一覧はitiran.phpで生成されているので、itiran.phpを編集します。

itiran.phpの編集

これを↓こう変更

 

変更点は以下の1行のみ

get_template_directory_uri(); から catch_that_image();への変更ですね。

itiran.phpと同様の表示をしている部分があるので一緒に変更しちゃいます。
(関連ページだったり、新規投稿だったり)

 

その他ファイルの編集

WordPressのテーマフォルダ/stinger8で以下のコマンドを実行

grep -r has_post_thumbnail ./

これによって、”has_post_thumbnail”が含まれているファイル一覧を取得できます。

  • itiran.php
  • kanren.php
  • newpoist.php

がヒットしました。itiran.phpと同様の箇所があるので変更しましょう。

 

アップロードと動作確認

編集した以下のファイルをアップロードします。

  • function.php
  • itiran.php
  • kanren.php
  • newpoist.php

アップロードしたら動作確認しましょう。

問題なく動作していれば作業終了です。

お疲れ様でした。

 

 

参考

こちらのリンクを参考にさせていただきました。

WordPressで記事内の最初の画像をアイキャッチ代わりに使う方法

 

-WordPress
-


comment

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

関連記事

関連記事はありませんでした

Top