問題 × 解決策

wordpressのビジュアルエディタの独自属性を残す方法

問題

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 );
}

引用:WordPressのエディタが独自拡張の属性値を消してしまう問題への対処 | 株式会社トライアド TRIAD Ltd.

参照

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

two × four =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧