この記事は最後に更新してから1年以上経過しています。

投稿記事でrubyタグを使えるようにする(前編)

説明

rubyなどのルビ関連タグはIEの独自サポートから始まり、少し前のChrome/Safariが追随して利用できるようになっている。Firefoxはいまだにサポートしていないのだが、それなりに代替表示されるので、投稿記事で使えるようにしてみた。

標準のWordPress投稿ページでは、投稿記事内にルビ関連タグを指定して保存すると、ルビ関連タグは除去される(WordPress 3.3.1で確認)。調べた結果、ルビ関連タグを使用できるようにするには、グローバル変数の $allowedposttagsに使用したいruby、rp、rtタグを登録することで対応できることがわかった。

対応例として今回は、自テーマのfunctions.phpにてafter_setup_themeアクションを登録し、そのアクション処理で実行するようにしている。


add_action( 'after_setup_theme', 'mytheme_setup' );

function mytheme_setup() {
	global $allowedposttags;
	foreach ( array( 'ruby', 'rp', 'rt' ) as $tag )
		if ( !isset( $allowedposttags[$tag] ) ) $allowedposttags[$tag] = array();
}

やりたいことは$allowedposttagsに関連タグの情報を追加することなので、ここでは$allowedposttagsに未登録の場合のみ、追加するようにしている。

これにより、投稿記事の保存でルビ関連タグが除去されることはなくなり、投稿記事を表示する the_content関数でも問題なく、出力(表示)されるようになる。
なお、投稿ページは「ビジュアル」モードと「HTML」モードがあるが、この対応だけでは「ビジュアル」モードに切り替えたタイミングでルビ関連タグは除去されてしまう。そんなこともあって、今回タイトルを前編としている。「ビジュアル」モードの対応はかなりハードそうなので、後編については気長に待ってほしい(対応できないかもしれない)。


最終更新 : 2012年01月25日 12:01


お勧め

is_favicon(2020年4月2日 更新)

bool is_favicon()
リクエストがfavicon.icoか調べる。

wp_kses_post_deep(2018年5月27日 更新)

mixed wp_kses_post_deep( mixed $data )
複数の投稿内容をサニタイズする。

wp_generator(2018年5月27日 更新)

void wp_generator( )
XHTMLのgeneratorタグを表示する。

get_post_class(2022年11月6日 更新)

array get_post_class( [ mixed $class = '' [ , int $post_id = null ] ] )
投稿記事のクラス名を取得する。

get_template_directory(2018年5月27日 更新)

string get_template_directory( )
現在使用しているテーマのパス名を取得する。