シリーズ『添付ファイルページをカスタマイズしよう!』~

【WordPress】添付ファイルページのパーマリンクを変更する。

【WordPress】添付ファイルページのパーマリンクを変更する。



WordPressでは画像などのメディアファイルにリンクを設定する際に、

  • メディアファイル
  • 添付ファイルのページ
  • カスタムURL

を設定することが出来るですが、添付ファイルのページのリンク先のパーマリンクが、そのメディアファイルを掲載している投稿のURLに依存するような形式で出力されます(もしかするとテーマに依るかもしれませんが)。

例えば当サイトで「美味しいカフェに行きました!」という投稿に「ケーキ(cake.jpg)」「お店外観(shop.jpg)」という画像ファイルを2つ掲載しているとすると、それぞれの画像の添付ファイルのページパーマリンクは

という形式になります。

投稿に掲載していない画像や、メディアライブラリページで投稿との関係性を切り離し設定をすると、

という形式になります。

しかし、この仕様だと、無駄にパーマリンクが長くなったり、投稿名と画像ファイル名が競合することも考慮しなくてはならないしでやはりスマートではありません。

そこで、このパーマリンクを「投稿タイプ」+「ファイル名」に変更することにします。

と言っても変更は簡単で、以下のコードをfunctions.phpに貼り付けるだけ。

function mx_attachment_link( $link, $post_id ){
    $post = get_post( $post_id );
    return home_url( '/attachment/' . $post->post_title );
}
add_filter( 'attachment_link', 'mx_attachment_link', 20, 2 );

これでパーマリンクは、

という形式で表示出来るようになります。
主に画像でしか添付ファイルのページを使用しないのであれば、上記コードの'/attachment/''/image/'としても良いでしょう。

こちらの記事を参考にしました。

Change the Permalink for wordpress attachment
参考
Change the Permalink for wordpress attachment

My attachments are currently rewritten from http://localhost/?attachment_id=3 to http://localhost/images/image-title using @Bainternet's answer here. $new_rules['images/(\d*)$'] = 'index.php?

Change the Permalink for wordpress attachment WordPress Development Stack Exchange

注意
この書き方だと、パーマリンクの設定を「投稿名」にしておく必要があります。
今日はここまで
【WordPress】添付ファイルページのパーマリンクを変更する。

【WordPress】添付ファイルページのパーマリンクを変更する。


開発

WordPressでは画像などのメディアファイルにリンクを設定する際に、 メディアファイル 添付ファイルのページ カスタムURL を設定することが出来るですが、添付ファイルのページのリンク先のパーマリンクが、そのメディア…


関連する記事



シリーズ『添付ファイルページをカスタマイズしよう!』



こちらはいかが?


コメントを残す