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

投稿記事で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」モードがあるが、この対応だけでは「ビジュアル」モードに切り替えたタイミングでルビ関連タグは除去されてしまう。そんなこともあって、今回タイトルを前編としている。「ビジュアル」モードの対応はかなりハードそうなので、後編については気長に待ってほしい(対応できないかもしれない)。

関連

お勧めコンテンツ

get_pages(2012年3月13日 登録)

array get_pages( [ mixed $args = '' ] )
固定ページを取得する。

is_network_admin(2011年6月22日 登録)

bool is_network_admin( )
リクエストページがネットワーク管理者ページ(/wp-admin/network/内)か調べる。

get_user_by_email(2011年9月29日 登録)

mixed get_user_by_email( string $email )
メールアドレスを指定し、マッチするユーザ情報を取得する。

wp_get_theme(2017年9月6日 登録)

WP_Theme wp_get_theme( [ string $stylesheet = null [ , string $theme_root = null ] ] )
テーマ情報(WP_Themeオブジェクト)を取得する。

taxonomy_exists(2011年6月12日 登録)

bool taxonomy_exists( string $taxonomy )
タクソノミーが存在するか調べる。

最終更新日時 : 2012-01-25 12:01