特定のショートコードに対してのみwptexturize
を削除する方法はありますか?
関数wptexturize
のwp-includes/formatting.php
に手がかりがあります。
$default_no_texturize_shortcodes = array('code');
...
$no_texturize_shortcodes = '(' . implode('|',
apply_filters('no_texturize_shortcodes', $default_no_texturize_shortcodes) ) . ')';
このフィルタを使って、配列にショートコードを追加してみてください。
function my_no_tex( $shortcodes ) {
$shortcodes[] = 'someshortcode';
return $shortcodes;
}
add_filter( 'no_texturize_shortcodes', 'my_no_tex' );
ショートコードはwptexturize関数の後に実行されるので、とにかく処理されるべきではありません。
wptexturizeは優先順位10でthe_content上で実行されます。do_shortcode関数は優先順位11で実行されます。