東京都練馬区。Wordpressはおまかせ。印刷・ホームページなど販売促進のためのデザインを提案します。

デザイン事務所ダウンアンダー

営業
10:00-
19:00

wp_insert_post()でHTMLタグを含む投稿をする。

     技術ノート    野村貞次

wp_insert_post()という関数があり、自動投稿できます。

しかし投稿の内容がサニタイズされ(洗われ)てしまうため、HTMLタグを含む投稿(例えばタイトル)の内容が欠落してしまいます。

  • <?php
  • $date = “2013年6月17日分”;
  • $hitmark = “<img src=’/sys/wp-content/themes/loto2/images/box.png’ />”;
  • $my_post = array();
  • $my_post[‘post_title’] = $date . $hitmark; //タイトルとして日付+ヒットマークを入力。
  • wp_insert_post( $my_post );
  • ?>

タイトルに「2013年6月17日分」と「ヒットマーク画像」が入ることを期待しているのですが、結果は

  • 「2013年6月17日分<img />」

と表示されます。

wp_insert_post( $my_post );の部分を以下に差し替えます。

  • kses_remove_filters();//sanitize_post()を無効にする。
  • $ret = wp_insert_post( $my_post );
  • kses_init_filters(); //sanitize_post()を初期化する。

参考:WordPressの関数wp_insert_postでサニタイズを回避する方法

     技術ノート    野村貞次

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

 こちらの記事も読んで見ましょう

wp_insert_post()でHTMLタグを含む投稿をする。 東京都練馬区。Wordpressはおまかせ。印刷・ホームページなど販売促進のためのデザインを提案します。

Copyright©デザイン事務所ダウンアンダー,2013 All Rights Reserved.

ページ先頭へ