この記事は最後に更新してから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_email(2017年11月28日 更新)

mixed is_email( string $email [, bool $deprecated = false ] )
文字列がメールアドレス形式か調べる。

get_option(2019年11月14日 更新)

mixed get_option( string $setting [ , mixed $default = false ] )
パラメータ$settingで指定されたオプションの値を取得する。

has_filter(2018年5月27日 更新)

mixed has_filter( $tag, [ mixed $function_to_check = false ] )
WordPressタグにフィルターが登録されているか調べる。

make_clickable(2012年4月26日 更新)

string make_clickable( $text )
テキスト中のURLをリンクに変換する。

get_bookmark(2011年6月10日 更新)

mixed get_bookmark( mixed $bookmark [ , string $output = OBJECT [ , string $filter = 'raw' ] ] )
リンク情報を取得する。