WordPress 3.5 でメディアのリンク先から添付ファイルのページの選択肢を消去する

WordPress 3.5 から、メディアアップローダーがガラッと変わって、3.4 までの画像を添付ファイルページにリンクさせない方法が使えなくなってしまっていますが、下記コードで(かなり強引ですが)消すことができます。

function media_script_buffer_start() {
	ob_start();
}
add_action( 'post-upload-ui', 'media_script_buffer_start' );

function media_script_buffer_get() {
	$scripts = ob_get_clean();
	$scripts = preg_replace( '#<option value="post">.*?</option>#s', '', $scripts );
	echo $scripts;
}
add_action( 'print_media_templates', 'media_script_buffer_get' );

具体的には、該当部分のスクリプトを出力している部分の一部をバッファリングして(表示を止めてPHPで文字列として扱えるようにしています)、該当部分のコードを削除しています。

1つ間違うと必要な箇所を消してしまう可能性があるなど、本当はあまり使うべき手法ではないと思っているのですが、WordPress そのものを書き換えるよりはいいので、まあ、参考程度にとどめておいてください。

3.4まではこちら → WordPressのメディアアップローダーの”添付ファイル投稿URL”ってボタンを消してハッピーになる方法。
※ 串本先生、GitHub のコードが見えてへんで。

コメントを残す

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