WordPress のインストールディレクトリのルートにある wp-load.php を include シてナニするプログラムを書ゐた。
wp_insert_post を使って投稿するのだが、その文中に、iframeタグが入っていると、その部分が見事に消ゑてシマウ!
ハァ?
iframeタグとユ~ンは、以下のように、YouTubeの動画を埋め込む時などに使うヤツね。
普通に管理画面から投稿すると消されずに投稿できるのだが、プログラム(wp_insert_post)ニョルと消されてしまう。
調べてムィルと、iframeタグは惡意のあるナニを埋め込むコトもできるンで、投稿者の権限が強くナゐと消されるようにナッテルとゐぅハナシだが、そのブログにユーザーは壹人しか居なく、当然ながら「管理者」である。
・購読者
・寄稿者
・投稿者
・編集者
・管理者
管理者ではダメなの?ヴァクァなの?スィヌの?
「特権管理者」とユ~ンもあるラシ~ンだが、そのブログにはない、とゆぅか、どの WordPress でも見たコトがナゐ(笑)
で、何ンかシラン(SILANE)けど、以下で挙がってるコードを functions.php に追記すると、iframeタグが「勝手に」消えなくなった。
関連:WordPressでiframeが無効になる現象を解決する方法
ンなもン分かるか!ドァヴォ!!
全画面表示(allowfullscreen)が消える場合
iframeで埋め込んだ動画の全画面再生を許可する場合、タグに「allowfullscreen」を追加するのだが、これも勝手に削除されてしまう。
当然、この状態では「全画面表示はご利用いただけません」となり、全画面で見るコトができナゐ。
そこで、先のfunctions.phpへの追記中の配列に以下を追加すると、勝手に消えなくなる。
「’allowfullscreen’ => array()」
勝手に消されてしまった投稿に付いては、SQLで全て置換シテヤレ!
UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`,'frameborder=\"0\">','frameborder=\"0\" allowfullscreen>') WHERE `post_type` = 'post'
関連:[WordPress] 時刻が9時間ヅレる問題(date_default_timezone_set(‘UTC’)) [wp-load.php]