WordPress Snippet

ワードプレスをカスタマイズしよう

wptexturizeのカスタマイズ 無効化と有効範囲のカスタマイズ

wptexturizeとは

WordPressは、’pre’, ‘code’, ‘kbd’, ‘style’, script’, ‘tt’ 以外の要素では、ダブルクウォート文字列などの自動変換が行われます。

英語圏以外では、取り立てて大きな御利益を感じることはないかもしれません。

うまく使うと、特定の文字列を自動変換したりすることもできます。

関数リファレンス/wptexturize – WordPress Codex 日本語版

wptexturizeを停止

functions.phpでフィルターを使って、変換を停止することが出来ます。

add_filter( 'run_wptexturize', '__return_false' );

Plugin API/Filter Reference/run wptexturize « WordPress Codex

特定の要素で、texturizeを止めるには

add_filter( 'no_texturize_tags', 'my_no_texturzie_tags' );
function my_no_texturzie_tags( $tags ) {
	
	$tags[]= 'blockquote';
	return Stags;
}

Plugin API/Filter Reference/no texturize tags « WordPress Codex

特定のショートコードで、texturizeを止めるには、

add_filter( 'no_texturize_shortcodes', 'shortcodes_to_exempt_from_wptexturize' );
function shortcodes_to_exempt_from_wptexturize( $shortcodes ) {
 $shortcodes[]= 'myshortcode';
 return $shortcodes;
}

プラグイン API/フィルターフック一覧/no texturize shortcodes – WordPress Codex 日本語版

カスタム変換

$wp_cockneyreplace

functions.phpに 以下のコードを記述すると「hello」と記述した場合h1要素で囲んだhelloに変換します。

この変換は、テンプレート全域に作用しますので、例えば、標準の翻訳文を修正するような用途にも使えると思いますが、予想外の部分で変換が行われることがありますので、その点は注意が必要と思います。

$wp_cockneyreplace= array('hello'=> '<h1>hello</h1>');

[emulsion_relate_posts]