WPでメディア一覧に、メディアのurlを表示するカラムを作る方法

Pocket

ごもっともな依頼が来たので対応した内容を共有。
メディアからpdf等をアップロードし、そのファイルの保存先をリンクとして投稿などに掲載したい。そういうときに、通常は

  • メディアからアップロード
  • メディア一覧から、アップロードした画像を選択し、「編集」
  • 「メディアを編集」ページの中の「ファイルのurl」をcopy
  • 投稿等にリンクとして貼付け

これを少し簡単にするには、メディア一覧のページに、ファイルのurlカラムを追加してやればいい。
ファイルのURLカラムを追加するには、functions.phpに

add_filter('manage_media_columns', 'posts_columns_attachment_id', 1);
add_action('manage_media_custom_column', 'posts_custom_columns_attachment_id', 1, 2);
function posts_columns_attachment_id($defaults){
    $defaults['wps_post_attachments_id'] = 'ファイルのURL';
    return $defaults;
}
function posts_custom_columns_attachment_id($column_name, $id){
    if($column_name === 'wps_post_attachments_id'){
        echo '<textarea readonly style="width:100%;" rows="4" onClick="this.select();">';
        // get attachment url
        echo wp_get_attachment_url( $id );
        echo '</textarea>';
    }
}

その結果:
メディアライブラリ
いい感じです。これだけでだいぶクリック回数が減って、幸せになれる。
実際に入れて使ってみると、これは間違いなくあったほうが良い。いつも使っている元のテンプレート(bones)にも改変して入れておこうと思う。

この記事を書いた人