マルチサイトのWordPressでiframeタグがごっそり抜ける

  • 投稿日:
  • by
  • カテゴリ:

今どきのWordPressはプラグインなしでマルチサイトに対応しています。

ディレクトリ、サブドメインにも対応。

サブドメインで、DNSのレコードにワイルドカードが設定できる場合、WordPressのブログの量産がちょーかんたんです。

で、”そういう”用途の場合、管理者ユーザーで設定から投稿まで全部やれば簡単なんですが、サブブログごとに管理ユーザーを作って記事を投稿するとタグがstripされてしまいます。

マルチサイト設定=サイトネットワーク設定、を実行したユーザが

特権管理者

になるんですが、サブブログの管理者は

管理者

となります。

困ったことにこいつにはロクな権限が付与されていません。

マルチサイト設定を実施する前は

管理者

が全ての権限を持っているのでややこしい。

でまぁ、何年も前からこの問題への回避方法が紹介されています。

wordpressでiframeが無効になる現象を解決する方法 - 株式会社LIG

自前のプラグインがあればこれでも良いと思うのですが、手元ではそんなものは使っていません。

また、テーマに設定したら、テーマをアップデートするたびに面倒がおこりそうです。

 

というわけで、以下のようなニッチな要求に応える設定を見つけました。

・マルチサイトで運用

・ブログごとに投稿者(ユーザ)を変えたい

・投稿内容にiframeなどのタグを入れたい

 

設定は、「サイトネットワーク管理者」-「ユーザ」から対象のユーザの編集へ遷移して、以下のチェックボックスをオンにするだけです。

20160505174657

特権管理者 

このユーザーにネットワークの特権管理者権限を与える。

 

当然のことながらこの設定の対象ユーザは特権を持つことになります。他人に渡すユーザには設定しないことをお勧めします。

 

リンク:

Allowing iframe tags in WordPress MultiSite blog posts - WpSofa.com

Make WordPress WYSIWYG not strip out iframe's - WordPress Development Stack Exchange