問題
wordpressのビジュアルエディタが消えてしまう…。
解決策
「tiny_mce_before_init」をフックして処理を行うことで、独自属性を残すことができます。
独自属性を残したい。
wordpressのビジュアルエディタに独自属性を使って更新したら、独自属性が消えてしまった…。
しかし独自属性を使用したい…。
そんな時のために、wordpressのビジュアルエディタの独自属性を残す方法をご紹介します。
「get_archives_link」をフックする。
「tiny_mce_before_init」をフックして処理を行うことで、独自属性を残すことができます。
調べていて、以下のページを見つけたことで実現することができました。
functions.phpに以下を記述します。
if ( !function_exists('pnd_allow_all_attr') ) {
function pnd_allow_all_attr ($init) {
$ext_elements = '';
$target_elements = array(
'a', 'b', 'base', 'big', 'blockquote', 'body', 'br', 'caption', 'dd', 'div', 'dl',
'dt', 'em', 'embed', 'font', 'form', 'h', 'head', 'hr', 'html', 'i', 'img', 'input',
'li', 'link', 'meta', 'nobr', 'noembed', 'object', 'ol', 'option', 'p', 'pre', 's',
'script', 'select', 'small', 'span', 'strike', 'strong', 'sub', 'sup', 'table',
'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'tt', 'u', 'ul',
'iframe'
);
$target_attr = array(
'*'
);
foreach ($target_elements as $target_element) {
$ext_elements .= ",".$target_element."[".implode('|',$target_attr)."]";
}
if ( !empty($ext_elements) ) {
if ( !empty($init['extended_valid_elements']) )
$init['extended_valid_elements'] .= $ext_elements;
else
$init['extended_valid_elements'] = trim($ext_elements, ',');
}
return $init;
}
add_filter( 'tiny_mce_before_init', 'pnd_allow_all_attr', 100 );
}
コメント