サポート » マルチサイト » 画像のtitleタグや、dlタグのclass、iframeタグなどが消えてしまう。

  • 解決済 berghilo

    (@berghilo)


    マルチサイト化にて特権管理者では問題はないのですが、それ以外の権限、たとえば管理者などでHTML欄にてhtmlを入力しますと、画像のtitleタグや、dlタグのclass、iframeタグなどが「公開」ボタンを押すと消えてしまいます。

    他のタグも消えるのかもしれませんが、この3つのタグが消えることに気付きました。
    なお、マルチサイト化していない他のサイトではこういう現象は起きませんので、WordPressをマルチサイト化すると、権限の問題で使えるタグも制限される仕様なのでしょか。
    お分かりの方がいましたら宜しくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 不要な属性の除去などは wp-includes/kses.phpの$allowedposttagsという変数で指定されているようです。
    たとえばdlにクラスを許可したい場合は
    136行目あたりの’dl’ => array(),を’dl’ => array(‘class’ => array ()),に変更すればOKです。
    ・・・が、コアファイルを操作することになるのでお勧めはしません。
    ちょうどいいフィルターがないんですよね。

    どこかにあるのだろうか。

    追加情報一応

    add_filter('content_save_pre','set_allowedposttags',8);
    function set_allowedposttags($content){
    global $allowedposttags;
    $allowedposttags['dl'] = array('class' => array ());
    return $content;
    }

    これでdlのクラス属性を許可できました。
    動作を完全に検証していないので不具合もあるかもしれませんし、もっと効率がいい方法があるかもしれません。

    スレッド開始 berghilo

    (@berghilo)

    gogowebさん、ありがとうございます。
    ご案内いただいたコードで無事タグが消えなくなりました。
    $allowedposttags['dl'] = array('class' => array ());
    この箇所を真似してほかのタグも無事追加できました。

    大変ありがとうございます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「画像のtitleタグや、dlタグのclass、iframeタグなどが消えてしまう。」には新たに返信することはできません。