post_status => publish no funciona
Tengo un formulario en el frontend que permite a los usuarios enviar una entrada.
Así es como almaceno los datos cuando se envía una entrada:
if ( isset( $_POST['submitted'] )) {
$post_information = array(
'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
'post_content' => $_POST['postContent'],
'post_type' => 'post',
'post_status' => 'publish'
);
$new_post = wp_insert_post( $post_information );
La entrada no se muestra en mi página de entradas a menos que vaya a través del panel de administración y haga clic en el botón ACTUALIZAR.
ASÍ ES COMO CONSULTO MIS ENTRADAS:
$args = array(
'posts_per_page' => 5,
'paged' => $paged,
'meta_query' => array(
array( 'key' => '_wti_like_count','value' => 5, 'compare' => '<=','type' => 'numeric')
)
);
query_posts( $args );
¿Cómo puedo hacer que mis entradas enviadas se publiquen automáticamente?
La publicación se agrega y se publica, pero como tienes la consulta meta y la clave meta no se agrega cuando envías la publicación desde el frontend, no aparece. Utiliza el siguiente código que agrega los metadatos según sea necesario.
if ( isset( $_POST['submitted'] ) ) {
$post_information = array(
'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
'post_content' => $_POST['postContent'],
'post_type' => 'post',
'post_status' => 'publish'
);
$new_post = wp_insert_post( $post_information );
// Agrega los metadatos de la publicación
add_post_meta( $new_post, '_wti_like_count', 0, true );
add_post_meta( $new_post, '_wti_unlike_count', 0, true );
add_post_meta( $new_post, '_wti_total_count', 0, true );
}

¡Otra cosita, amigo! Si agrego un valor así: add_post_meta( $new_post, '_wti_like_count', 1, true ); ¿por qué el valor 1 no se muestra en el frontend? Solo muestra 0

Los datos que ves en el frontend se extraen de la tabla del plugin wti_like_post
. Los metadatos solo se agregan al post para que puedan usarse en consultas personalizadas como la que tienes arriba. Para mantener las cosas limpias, siempre se agrega 0 al post cuando se crea. A medida que los usuarios siguen votando por ese post, ambos valores (en la tabla del plugin y los metadatos) se actualizan en consecuencia.

Ten en cuenta que ahora puedes hacer esto dentro de wp_insert_post usando el atributo 'meta_input' (por ejemplo, meta_input => array('meta_field_name => 'meta field value')
)

No estoy seguro, pero creo que es porque no agregaste el autor en el $post_information
:
if( isset($_POST['submitted']) ):
global $user_ID;
$post_information = array(
'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
'post_content' => $_POST['postContent'],
'post_type' => 'post',
'post_status' => 'publish',
'post_author' => $user_ID,
'post_date' => date('Y-m-d H:i:s')
);
$post_id = wp_insert_post($post_information);
if (!$post_id) {
wp_die('Error');
}
endif;
