フロントエンドからの投稿の提出 - データの消毒
-
16-10-2019 - |
質問
登録されたユーザーが投稿を送信できるようにするフォームがあります(カスタム投稿タイプ - フォーラム関連)、使用しています wp_insert_post()
DBに挿入します。
この関数で私が見たものから、Sanitize_Post()関数は自動的に実行されますが、これはDBエスケープなどのみを処理すると思います。
では、WP-Adminエディターと同じように入力データをどのようにサニタイズするのでしょうか?私はKSESフィルターと他のすべてのものを適用することを意味します...
解決
adminから投稿が作成/編集されると、edit_post()が呼び出されます。
この関数は、すべての$ _POST引数を単に収集し、wp_update_post()に渡すだけです。
wp_update_post()その後、いくつかの論理チェックを実行し、wp_insert_post()にデータを渡します。
wp_insert_post()は、sanitize_post()を呼び出します。
だから、はい、wp_insert_post() は それを行う正しい方法。
他のヒント
Ottoは昨年KSEの使用についてブログを作成しました。それが役立つかどうかを確認してください。
http://ottopress.com/2010/wp-quickie-kses/
所属していません wordpress.stackexchange