Já tenho uma função em que um usuário envia um formulário e cria uma postagem 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');
}
Quero verificar se o título da postagem personalizada existe e, se NÃO existir, vá em frente e crie a postagem com um número 1 no campo meta e, se existir, basta adicionar 1 ao campo meta
post-meta
wp-insert-post
Marctain
fonte
fonte
AND post_status = 'publish'
à consulta inicial para retornar apenas postagens publicadas.WHERE post_title = %d
deve lerWHERE post_title = %s
headdeskUm método mais atualizado pode usar a
post_exists()
função da seguinte maneira:fonte
$post_id = post_exists[...]
operador ternário deve ser dividido em um if / else para incrementar o meta campo.Você pode usar a função get_page_by_title () do WordPress:
fonte
Tim Hallman boa resposta. Use a função post_exists () para verificar se existe ou não. Mais detalhes, visite https://developer.wordpress.org/reference/
fonte
Você pode fazer isso por ID
fonte
post_exists and
internas que se destinam a fazer isso, wp_insert_post` como na resposta de @ TimHallman. Quanto mais código desnecessário você introduzir, mais alterações ocorrerão na introdução de erros ou problemas de manutenção a longo prazo.WordPress verifique se existem postagens por título
fonte