他のページやWordなどの他のソースからテキストをコピーするときに、主に私の編集者によって公開されている、望ましくないHTMLを取り除きたいです。
だから私は使う
add_filter( 'content_save_pre' , 'my_function', 10, 1 );
投稿内のコンテンツのため。
タクソノミー/用語とその説明についても同じことをしたいのですが、WordPressのドキュメントにフィルタが見つからず、コードにも何も見つかりませんでした。
例えばあります次の動的 sanitize_term_fields()
フィルタ
edit_term_{$field}
フィルタpre_term_{$field}
フィルタterm_{$field}_rss
フィルタterm_{$field}
フィルタ(デフォルト)そして分類学特有のものも:
edit_{$taxonomy}_{$field}
フィルタpre_{$taxonomy}_{$field}
フィルタ{$taxonomy}_{$field}_rss
フィルタ{$taxonomy}_{$field}
フィルタ(デフォルト)コンテキストがrawの場合、上記のフィルタはどれも適用されません。
dbコンテキストはwp_insert_term()
およびwp_update_term()
内で使用されます。
$args = sanitize_term($args, $taxonomy, 'db');
wp_insert_term()
フィルタとpre_insert_term
フィルタもあります。
/**
* Filters a term before it is sanitized and inserted into the database.
*
* @since 3.0.0
*
* @param string $term The term to add or update.
* @param string $taxonomy Taxonomy slug.
*/
$term = apply_filters( 'pre_insert_term', $term, $taxonomy );
以下は、ポストタグ分類法の場合の用語説明の簡単なデモ例です。
編集コンテキスト:
add_filter( 'edit_post_tag_description', 'wp_strip_all_tags' );
dbコンテキスト:
add_filter( 'pre_post_tag_description', 'wp_strip_all_tags' );
これをテストし、自分のニーズにさらに制限したいと思うかもしれません。
注意:フロントエンドのterm descriptionを出力するところでそれを取り除くだけの方が良いかもしれません、それであなたはバックエンドのユーザー入力を台無しにしませんか?