• 解決済 haruka

    (@harlequin_wp)


    いつからだったのか、もしくは最初からだったのかわからないのですが、権限グループが「投稿者」「寄稿者」のユーザーの場合、投稿の際に、タイトルに含まれるタグが削除されて大なり小なりの記号が実態参照にエスケープされてしまうことに気付きました。

    例:

    //入力文字列
    <s>タグ</s>大なり>小なり<test
    ↓
    下書きに保存 or 公開
    ↓
    タグ大なり>小なり<test

    (↑最後の行、大なりと小なりの記号は実態参照です)
    これはタイトルだけの現象で、本文の方は問題ありません。

    権限グループを「管理者」「編集者」にすると、この現象は現れません。

    子テーマのfunctions.phpを削除、プラグインを全て停止してみましたが、変化ありません。
    コアファイルは弄っていません。

    試しに、新規ユーザーを作成してみましたが、やはり同様の現象になります。

    解決法をご存知の方がいらっしゃいましたら、教えて頂けると助かります。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 haruka

    (@harlequin_wp)

    この現象が起こっているWordPressは、現在構築中のマルチユーザーブログなのですが、これとは別に既に運用中のWordPressがあり、そちらは個人のブログとして単純な使い方をしているのですが、それに新規ユーザーを追加して試してみたら、同じ現象になりました…。うーん…。

    「マルチユーザー」で「投稿者」で「タイトルにタグを含める」というパターンがあまり無さそうなので、実は発見されていないWordPressのバグということはないですよね…?
    「同じ条件で私は再現しないよー」っていう情報もあると嬉しいです。
    WordPressのバージョンは3.3.2です。

    WPのユーザー権限の仕様です。
    フィルターなしのHTML’unfiltered_html’は管理者と編集者には許可されていますが、投稿者以下のユーザーには許可されていない為です。
     
    ユーザーの種類と権限 – Codex 日本語版
     
    プラグインで権限を編集してしまうのが手っ取り早いと思います。
    フォーラム » 使い方全般 » タイトルの改行タグが消えてしまう。

    トピック投稿者 haruka

    (@harlequin_wp)

    popupさん、回答ありがとうございます!

    なんと、仕様でしたか…!
    そんな部分にまで権限による差があるなんて。
    想像しなかったです。
    権限は奥が深いですね…。

    でも原因がわかってスッキリしました。
    権限が無いだけの話なら、解決も簡単で良かったです。

    //functions.phpに記述
    function my_caps_edit(){
        global $wp_roles;
        $wp_roles->add_cap( 'author', 'unfiltered_html' );
    }
    add_action( 'admin_init', 'my_caps_edit' );

    これで、投稿者も管理者と同じようにタイトルが入力できるようになりました。

    ありがとうございました!

    余談。
    それにしても不思議な仕様ですね。
    タグが消えちゃうのはともかく、下書き保存した途端、記号が文字化けのようになったら人によってはビックリしますよね…。
    それにタグが消える仕様のせいで、カッコ書きのつもりで<と>で文字列を囲ってしまうと、その部分が全部消えてしまって更ビックリです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「投稿者、寄稿者で投稿するとタイトルからタグ削除&エスケープされる」には新たに返信することはできません。