WordPress 投稿画面のテキストエディタでタブ入力できるようにする

WordPress に限らず textarea ってのはタブ(インデント)の入力が出来ないんだよねぇ。

でも、ソースコードとか CSS の記述とかを書く場合はタブ入力できないと不便。

なので、WordPress 投稿画面のテキストエディタにタブを入力できるようにした。
(ビジュアルエディタの方はかなり面倒くさいので、今回は無視)

投稿画面で表示される textarea 全てを対象にした ので、投稿本文だけでなく「抜粋」や「カスタムフィールドの値」などでもタブ入力できます。

やり方

functions.php に以下を追加

add_action( 'admin_footer', 'my_textarea_tab_input' );

function my_textarea_tab_input() {
	if( current_user_can( 'edit_posts' ) === true && stripos( $_SERVER['REQUEST_URI'], 'wp-admin/post.php' ) !== false ) {
		echo <<< SCRIPT
<script>
var textareas = document.getElementsByTagName('textarea');
var count = textareas.length;
for( var i = 0; i < count; i++ ) {
	textareas[i].onkeydown = function(e){
		if( e.keyCode === 9 || e.which === 9 ) {
			e.preventDefault();
			var s = this.selectionStart;
			this.value = this.value.substring( 0, this.selectionStart ) + "\t" + this.value.substring( this.selectionEnd );
			this.selectionEnd = s + 1;
		}
	}
}
</script>
SCRIPT;
	}
}

これだけw

以上。

WordPress

Posted by るな