функция
since 2.0.0
post_exists()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
post_exists( string $title, string $content = '', string $date = '', string $type = '', string $status = '' ): int
Описание
Определяет, существует ли запись, на основе заголовка, содержимого, даты и типа.
Параметры
$title
string
обязательный
Заголовок записи.
$content
string
необязательный
= ''
Содержимое записи.
$date
string
необязательный
= ''
Дата записи.
$type
string
необязательный
= ''
Тип записи.
$status
string
необязательный
= ''
Статус записи.
Возвращаемое значение
int
Исходный код
wp-admin/includes/post.php:858
function post_exists( $title, $content = '', $date = '', $type = '', $status = '' ) {
global $wpdb;
$post_title = wp_unslash( sanitize_post_field( 'post_title', $title, 0, 'db' ) );
$post_content = wp_unslash( sanitize_post_field( 'post_content', $content, 0, 'db' ) );
$post_date = wp_unslash( sanitize_post_field( 'post_date', $date, 0, 'db' ) );
$post_type = wp_unslash( sanitize_post_field( 'post_type', $type, 0, 'db' ) );
$post_status = wp_unslash( sanitize_post_field( 'post_status', $status, 0, 'db' ) );
$query = "SELECT ID FROM $wpdb->posts WHERE 1=1";
$args = array();
if ( ! empty( $date ) ) {
$query .= ' AND post_date = %s';
$args[] = $post_date;
}
if ( ! empty( $title ) ) {
$query .= ' AND post_title = %s';
$args[] = $post_title;
}
if ( ! empty( $content ) ) {
$query .= ' AND post_content = %s';
$args[] = $post_content;
}
if ( ! empty( $type ) ) {
$query .= ' AND post_type = %s';
$args[] = $post_type;
}
if ( ! empty( $status ) ) {
$query .= ' AND post_status = %s';
$args[] = $post_status;
}
if ( ! empty( $args ) ) {
return (int) $wpdb->get_var( $wpdb->prepare( $query, $args ) );
}
return 0;
}
История изменений
| Версия | Описание |
|---|---|
| 5.8.0 | Added the $status parameter. |
| 5.2.0 | Added the $type parameter. |
| 2.0.0 | Introduced. |

