[wp-trac] [WordPress Trac] #37406: Add ability to specify post_type in post_exists function - post.php
WordPress Trac
noreply at wordpress.org
Tue Jul 19 00:36:34 UTC 2016
#37406: Add ability to specify post_type in post_exists function - post.php
-------------------------------+-----------------------------
Reporter: sgarza | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Posts, Post Types | Version: 4.5.3
Severity: normal | Keywords:
Focuses: |
-------------------------------+-----------------------------
Currently `post_exists()` has no way of refining the query down to a
particular post type. Adding a fourth argument to specify a post type
would make this function more useful for custom post type development.
{{{#!php
<?php
function post_exists($title, $content = '', $date = '', $type = '') {
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' ) );
$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 ( $args ) )
return (int) $wpdb->get_var( $wpdb->prepare($query, $args)
);
return 0;
}
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/37406>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list