メディア から 表示 を 押したときに表示されるページ

この メディアページ が 画像のときは 表示サイズを full に したかったので 調べてみました

検索すると メディアページを 消したい とか リダイレクトさせたい とかは たくさんあったのですが 表示サイズを full に 変更したい というものが 無くて困りました

また アタッチメント とか メディア とか 添付ファイル とか 呼び方が 異なっていて 検索に手間取りました


変更方法


prepend_attachment() | Function | WordPress Developer Resources
https://developer.wordpress.org/reference/functions/prepend_attachment/

調べたところ wp-includes/post-template.php : 1627 から 処理をしていて 1663 に フィルター が 用意されていたので preg_replace で 対象の部分を 探して full に しました

add_filter( 'prepend_attachment', function( $p ) {
  $pattern = '/<p class="attachment">(.+?)<\/p>/is';

  if( preg_match( $pattern, $p ) ) {
    $p = preg_replace( $pattern, '<p class="attachment">' . wp_get_attachment_link( 0, 'full', false ) . '</p>', $p );
  }

  return $p;
} );

これだと コアの書き出しが 変わってしまった場合 パターンに マッチしなくなるので 動かなくなりますね
もっと 良い方法があれば コメントにて 教えてください


さいごに


prepend_attachment_video とか prepend_attachment_audio とか prepend_attachment_other とか 細かいフィルターがあると 便利かなって 思いました

ただ コアの話なので そんなに ホイホイ 追加してくれるわけでもないので 僕の中の解は こんな感じかな?? と 思います

Related Article

自作 テーマ を テーマユニットテスト で 検査してみた

詳細へ »

Instant Articles for WP の 出力 を カスタマイズ する ( SyntaxHighlighter Evolved の ショートコード 対応 )

詳細へ »

親テーマのメニューを非表示にしてみた

詳細へ »