【WordPress】記事を保存した時点でhtmlタグ、CSS、Javascriptコードが消える?

先日、スタッフにブログを書いてもらうためにWPユーザー権限である「投稿者」を追加しました。

スタッフに記事を書いてもらっていたところ、「デザインが崩れるんです。」とのこと。
原因はWordPressのある仕様が問題ということが発覚。
今回はその内容をご紹介したいと思います。

WordPressロゴ

概要

権限:投稿者
作業内容:投稿画面にてテキストモードにてhtmlコードをコピペし、下書き保存
現象:プレビュー画面にて意図したデザインにならない
確認:テキストモードにてコピペしたhtmlが書き変わっている

張り付けたhtmlコードと見た目

WordPress編集画面

コピペしたソースコード

以下のコードを投稿の編集画面にて貼り付けました。(↑の画像のテキストエディタにて)

実際の見た目

以下のデザインが表示されるはず・・・

*タイトル
ここに本文を入れます♪

書き換わったソースコード

しかしながら、下書き保存をしてプレビューすると以下のhtmlコードのように勝手に書き換わります。

実際の見た目

「※タイトル」という見出しの部分が幅いっぱいになってしまいました。

*タイトル
ここに本文を入れます♪

原因

原因を調べたところ、管理者や編集者以外のユーザー権限ではセキュリティ上一部の属性(CSSやJavaScriptなどのコード)を書き換えたり、削除したりするということです。

対策

権限を追加する

WordPressには各種ユーザーに権限を追加・削除する方法があります。
管理画面での設定にはありませんが、自身のテーマディレクトリにあるfunctions.phpに以下のコードを追加することで設定できます。

get_role()

get_roleで指定できる権限グループは以下になります。

管理者 : administrator
編集者 : editor
投稿者 : author
寄稿者 : contributor
購読者 : subscriber

add_cap()

unfiltered_htmlでHTMLマークアップ、またはページ、投稿、コメント内への JavaScript コードの投稿を許可されます。
その他add_cap()で指定できる権限は以下を参照してください。

ユーザーの種類と権限

これで投稿者でもhtmlコードが勝手に書き換わらないようになります。

以上となります。

もし上記の設定が難しいようでしたら弊社で対応いたしますので何なりとご相談ください。

 

株式会社ファーストネットジャパンでは、1998年の創業から培ってきた知見・経験を基に、良質かつユーザー第一のWEBサイトを制作して参りました。

弊社は、コーポレートサイト・採用サイト・ECサイト・LPサイトなど、様々なWEBサイトの制作に対応しております。

まずはお気軽にご相談ください。

お見積り、外注のご相談はこちらをクリック