概要
delete_field関数は、特定のフィールドの値を削除します。この関数は、特定の投稿やタームのカスタムフィールドを削除する際に便利です。例えば、ユーザーが投稿やページを編集している場合に、不要な情報を削除したいときに使用されます。
よく使われる機能の例
- 特定の投稿から不要なカスタムフィールドを削除する。
- 条件に基づいて全てのタームから特定のフィールドを削除する。
- フォームの値をユーザーによってリセットする。
- テーマやプラグインがインストールされた際に一時的なデータをクリアする。
- ユーザーインターフェースからの動的なフィールドの削除を行う。
- プロフィール情報をクリーンアップする際に使用する。
構文
delete_field( $field_key, $post_id );
パラメータ
$field_key(string): 削除するフィールドのキーまたは名前。$post_id(int): フィールドが関連付けられている投稿のID。
戻り値
- 成功した場合は
true、失敗した場合はfalseを返します。
使用可能なバージョン
- Advanced Custom Fields (ACF) バージョン: 5.0 以降
- WordPress バージョン: 4.0 以降
この関数のアクションでの使用可能性
| アクション | 使用可能性 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | 〇 |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプル 1: 投稿からカスタムフィールドを削除
// 投稿ID 123 の 'custom_field_name' を削除。
delete_field('custom_field_name', 123);
このコードは、投稿ID 123 のカスタムフィールド ‘custom_field_name’ を削除します。
サンプル 2: タームからカスタムフィールドを削除
// タームID 456 の 'taxonomy_field' を削除。
delete_field('taxonomy_field', 456);
このコードは、タームID 456 に関連する ‘taxonomy_field’ を削除します。
サンプル 3: 条件付きでフィールドを削除
if( get_field('should_delete_field', 123) ) {
delete_field('custom_field_name', 123);
}
このコードは、場合によって投稿ID 123 の ‘custom_field_name’ を削除します。
サンプル 4: ユーザーのプロフィールからカスタムフィールドを削除
// ユーザーID 789 の 'user_custom_meta' を削除。
delete_field('user_custom_meta', 'user_789');
このコードは、ユーザーID 789 のカスタムフィールド ‘user_custom_meta’ を削除します。
サンプル 5: フォーム送信後にフィールドを削除
if ($_POST['form_submitted']) {
delete_field('temporary_field', get_the_ID());
}
このコードは、フォームが送信された後に現在の投稿の ‘temporary_field’ を削除します。