У меня уже есть функция, где пользователь отправляет форму и создает пользовательский пост ...
<?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');
}
Я хочу проверить, существует ли заголовок настраиваемой записи, а затем, если это не так, создать запись с # 1 в мета-поле и, если она существует, просто добавить 1 в мета-поле.
post-meta
wp-insert-post
marctain
источник
источник
AND post_status = 'publish'
к исходному запросу, чтобы вернуть только опубликованные сообщения.WHERE post_title = %d
должен прочитатьWHERE post_title = %s
HeaddeskБолее обновленный метод может использовать
post_exists()
функцию следующим образом:источник
$post_id = post_exists[...]
увеличить, троичный оператор должен быть разбит на if / else для увеличения метаполя.Вы можете использовать функцию get_page_by_title () в WordPress:
источник
@ Тим Холлмен, хороший ответ. Используйте функцию post_exists (), чтобы проверить, существует или нет запись. Более подробную информацию можно найти на сайте https://developer.wordpress.org/reference/.
источник
Вы можете сделать это по ID
источник
post_exists and
wp_insert_post`, как в ответе @ TimHallman. Чем больше ненужного кода вы вводите, тем больше изменений вносят ошибки или проблемы долгосрочного обслуживания.WordPress проверяет, существует ли запись по заголовку
источник