delete_field()


WordPressのdelete_field()関数は、特定のカスタムフィールドを削除するために使用されます。この関数を使用することで、データベースからカスタムフィールドを削除できます。

シンタックス

delete_field( string $field_name, int $post_id );

引数の説明:

  • $field_name (string) — 削除するカスタムフィールドの名前。
  • $post_id (int) — カスタムフィールドを削除する投稿のID。

例1: 特定の投稿からカスタムフィールドを削除する

このコードは、特定の投稿(IDが123)の「example_field」カスタムフィールドを削除します。

<?php delete_field( 'example_field', 123 ); ?>

例2: 現在の投稿からカスタムフィールドを削除する

現在の投稿から「example_field」カスタムフィールドを削除します。

<?php delete_field( 'example_field', get_the_ID() ); ?>

例3: ループ内でカスタムフィールドを削除する

投稿ループ内でカスタムフィールド「example_field」を削除します。

<?php
if ( have_posts() ) :
  while ( have_posts() ) : the_post();
    delete_field( 'example_field', get_the_ID() );
  endwhile;
endif;
?>

例4: 投稿が保存されるときにカスタムフィールドを削除する

投稿が保存されるときに、特定のカスタムフィールドを削除します。

<?php
function remove_custom_field_on_save( $post_id ) {
  if ( isset( $_POST['example_field'] ) ) {
    delete_field( 'example_field', $post_id );
  }
}
add_action( 'save_post', 'remove_custom_field_on_save' );
?>

例5: 投稿タイプに基づいてカスタムフィールドを削除する

特定の投稿タイプに基づいてカスタムフィールドを削除します。

<?php
function delete_field_by_post_type( $post_id ) {
  if ( get_post_type( $post_id ) == 'custom_post_type' ) {
    delete_field( 'example_field', $post_id );
  }
}
add_action( 'save_post', 'delete_field_by_post_type' );
?>

注意事項

  • 削除したフィールドは元に戻せないため、注意して使用してください。
  • 特定の投稿IDを指定する場合、存在しない投稿IDを指定するとエラーが発生する可能性があります。

関連機能: