BLOG

WEB&ITのナレッジキャピタル

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

  • WordPress

最終更新日:2023年12月04日

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

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

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

WordPressで
困っていませんか?

WordPressのあれこれならお任せください。
ファーストネットワードプレスサービスでは、
1998年の創業から培ってきた知見・経験を基に
WordPressのお悩みを解決いたします。

CTAのイメージ画像

CTAのイメージ画像(スマートフォン版)


実績豊富な
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コードが勝手に書き換わらないようになります。

以上となります。

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



CONTACT

お問い合わせ

お見積もりのご相談・お問い合わせはこちら。
外注・業務委託も承っております。
お気軽にお問い合わせください。