post_exists()

最后更新于:2021-11-27 19:13:38

post_exists( string$title, string$content=”, string$date=”, string$type=”, string$status=”)

Determines if a post exists based on title, content, date and type.

参数

$title

(string) (Required) Post title.

$content

(string) (Optional) post content.

Default value: ”

$date

(string) (Optional) post date.

Default value: ”

$type

(string) (Optional) post type.

Default value: ”

$status

(string) (Optional) post status.

Default value: ”

响应

(int) Post ID if post exists, 0 otherwise.

源文件

文件: gc-admin/includes/post.php

function post_exists( $title, $content = '', $date = '', $type = '', $status = '' ) {
	global $gcdb;

	$post_title   = gc_unslash( sanitize_post_field( 'post_title', $title, 0, 'db' ) );
	$post_content = gc_unslash( sanitize_post_field( 'post_content', $content, 0, 'db' ) );
	$post_date    = gc_unslash( sanitize_post_field( 'post_date', $date, 0, 'db' ) );
	$post_type    = gc_unslash( sanitize_post_field( 'post_type', $type, 0, 'db' ) );
	$post_status  = gc_unslash( sanitize_post_field( 'post_status', $status, 0, 'db' ) );

	$query = "SELECT ID FROM $gcdb->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) $gcdb->get_var( $gcdb->prepare( $query, $args ) );
	}

	return 0;
}