Ya tengo una función en la que un usuario envía un formulario y crea una publicación personalizada ...
<?php $postTitle = $_POST['post_title'];
$submit = $_POST['submit'];
if(isset($submit)){
global $user_ID;
$new_post = array(
'post_title' => $postTitle,
'post_content' => '',
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => '',
'post_type' => 'stuff',
'post_category' => array(0)
);
$post_id = wp_insert_post($new_post);
add_post_meta($post_id, 'times', '1');
}
Quiero verificar si el título de la publicación personalizada existe, luego, si NO existe, seguir adelante y crear la publicación con un # 1 en el metacampo, y si existe, simplemente agregar 1 al metacampo
post-meta
wp-insert-post
marctain
fuente
fuente
AND post_status = 'publish'
a la consulta inicial para devolver solo las publicaciones publicadas.WHERE post_title = %d
debería leer elWHERE post_title = %s
headdeskUn método más actualizado puede usar la
post_exists()
función así:fuente
$post_id = post_exists[...]
operador ternario debe desglosarse en un if / else para incrementar el metacampo.Puede usar la función get_page_by_title () de WordPress:
fuente
@Tim Hallman buena respuesta. Use la función post_exists () para verificar si existe o no la publicación. Más detalles visite https://developer.wordpress.org/reference/
fuente
Puedes hacerlo por ID
fuente
post_exists and
wp_insert_post` como en la respuesta de @ TimHallman. Cuanto más código innecesario introduzca, más cambios habrá al introducir errores o problemas de mantenimiento a largo plazo.WordPress verifica si la publicación existe por título
fuente