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 のコードが見えてへんで。

メディアのカテゴライズ(後編)

URLが404ですが別にNot Foundな訳ではありません。

とくだらない前置きは置いておいて。
メディアのカテゴライズ(前編)では、メディアのタクソノミー管理画面をメニューに加える方法を紹介いたしました。

後編は、メディアの編集画面でタクソノミー登録方法のユーザビリティーを劇的に向上させる方法をドドンと紹介します。

“メディアのカテゴライズ(後編)” の続きを読む

メディアのカテゴライズ(前編)

カスタムタクソノミーを使って

■ CODE 1

$labels = array(
	'name' => 'カラー',
	'singular_name' => 'カラー',
	'search_items' => '色で探す',
	'all_items' => '全ての色',
	'parent_item' => '親色',
	'parent_item_colon' => '親の色',
	'edit_item' => 'カラーの編集', 
	'update_item' => 'カラーを更新',
	'add_new_item' => 'カラーを追加',
	'new_item_name' => '新規カラー名',
); 	

register_taxonomy(
	'color',
	array( 'attachment' ),
	array(
		'hierarchical' => true,
		'labels' => $labels,
		'query_var' => true,
		'rewrite' => array(
			'slug' => 'color',
			'hierarchical' => true,
			'with_front' => false
		),
	)
);

と記述すると、メディアのカテゴライズを行うことができるようになります。
ただし、投稿、ページ、カスタム投稿タイプと異なり、メディアの場合は、show_ui パラメータが true になっていても、管理画面のメニューにはタクソノミーのメニューが表示されません。

「入力段階でタイプミスをして不要なタクソノミーを削除したい」、「スラッグを変更したい」などなど、やはり編集したいと思うのは常だと思います。

“メディアのカテゴライズ(前編)” の続きを読む