post_exists( string $title, string $content = '', string $date = '', string $type = '' )
Détermine si un poste existe en se basant sur son titre, son contenu, sa date et son type.
Cette fonction existe seulement en admin.
Paramètres
$title
(string) (Requis) Titre du poste.
$content
(string) (Optionnel) Contenu du poste.
Valeur par défaut : ''
$date
(string) (Optionnel) Date du poste.
Valeur par défaut : ''
$type
(string) (Optionnel) Type du poste.
Valeur par défaut : ''
Retourne
(int) Id du poste s'il existe, 0 autrement.
Structure de la fonction post_exists()
Définie dans le fichier wp-admin/includes/post.php à la ligne 768 :
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;
}
Fonctions utilisées par post_exists()
wp_unslash()
Supprime les slashes d'une chaîne ou d'un tableau de chaînes.
sanitize_post_field()
Nettoie le champ d'un poste basé sur le contexte.
Où trouver la fonction post_exists()
dans le CMS Wordpress
Exemple
Sources
Codex Wordpress : post_exists()
Autres fonctions dans le même fichier : wp-admin/includes/post.php