WordPressの本文内に入っている画像を全て抽出してリストアップする

記事本文内(WYSIWYGエディタ)に入っている画像のみを取り出して別で表示したいというときに使えるかもしれない内容になります。
使いどころが限られますが、参考になればと思います。

ポイント

  • 本文に入っている画像が、オリジナル画像だったり、サムネイルサイズになっていたりする。
  • オリジナル画像のみ取得したい。
  • 1記事内の投稿で同じ画像が何度も使用されていて重複している。

データ整形処理

preg_match_all で抽出した $all_imgs を var_dump すると下記のような配列となっています。

返り値の[1]がパスのみになりますので、こちらを使用します。

※サムネイルサイズの生成ファイル名を変換している場合は、正規表現部分の調整が必要です。

画像URLからattachmentIDを取得する処理は、別途 functions.php などに追記してください。

出力処理

画像を表示したいところに出力コードを配置します。

 

入力された本文内容次第ではイレギュラーな内容も出てくると思いますが、最低限の実装は出来ているかと思います。
今回は、リストアップされたURLをそのまま出力していますが、オリジナル画像からアタッチメントIDを取得しているので、特定サイズの画像を一覧化することも可能だと思います。

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください