post_exists()


WordPressのpost_exists()関数は、指定された投稿がすでに存在するかどうかを確認するために使用されます。

シンタックス

post_exists( string $title, string $content = '', string $date = '' );

引数の説明:

  • $title (string) — 投稿のタイトル。
  • $content (string) — 投稿の内容(省略可能)。
  • $date (string) — 投稿の日付(省略可能)。

戻り値:

  • 存在する場合は投稿IDを返します。
  • 存在しない場合は0を返します。

例1: タイトルから投稿の存在を確認する

以下のコードは、指定されたタイトルの投稿が存在するかどうかをチェックします。

<?php
if ( post_exists( 'サンプルタイトル' ) ) {
    echo '投稿はすでに存在します。';
} else {
    echo '投稿は存在しません。';
}
?>

例2: タイトルとコンテンツで確認する

タイトルとコンテンツの両方を指定して、投稿の存在を確認します。

<?php
if ( post_exists( 'サンプルタイトル', '投稿の内容' ) ) {
    echo 'この投稿はすでに存在しています。';
} else {
    echo 'この投稿は存在しません。';
}
?>

例3: タイトル、コンテンツ、および日付を使用する

投稿タイトル、内容、および日付の組み合わせで確認することができます。

<?php
if ( post_exists( 'サンプルタイトル', '投稿の内容', '2024-06-01' ) ) {
    echo '指定した日付の投稿が存在します。';
} else {
    echo '投稿は存在しません。';
}
?>

例4: 投稿が存在しない場合に新規作成する

以下のコードは、投稿が存在しない場合にのみ新規投稿を作成します。

<?php
if ( ! post_exists( 'サンプルタイトル' ) ) {
    wp_insert_post( array(
        'post_title'   => 'サンプルタイトル',
        'post_content' => '新しい投稿の内容',
        'post_status'  => 'publish',
    ) );
}
?>

注意点:

  • post_exists()関数はデータベース内の投稿を検索しますが、大量のデータがある場合はパフォーマンスに影響することがあります。
  • この関数は管理者または開発者向けのユーティリティ関数であり、主に条件分岐やデータ管理の際に役立ちます。

関連機能: