Saya sudah memiliki fungsi di mana pengguna mengirimkan formulir dan membuat pos khusus ...
<?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');
}
Saya ingin memeriksa apakah judul posting kustom ada, lalu jika TIDAK, untuk melanjutkan dan membuat posting dengan # 1 di bidang meta, dan jika memang ada, untuk hanya menambahkan 1 ke bidang meta
post-meta
wp-insert-post
Marctain
sumber
sumber
AND post_status = 'publish'
ke permintaan awal untuk hanya mengembalikan posting yang dipublikasikan.WHERE post_title = %d
harus membacaWHERE post_title = %s
headdeskMetode yang lebih diperbarui dapat menggunakan
post_exists()
fungsi seperti ini:sumber
$post_id = post_exists[...]
operator ternary harus dipecah menjadi sebuah jika / lain untuk menambah bidang meta.Anda dapat menggunakan fungsi get_page_by_title () di WordPress:
sumber
@Tim Hallman jawaban yang bagus. Gunakan fungsi post_exists () untuk memeriksa ada atau tidaknya posting. Lebih detail kunjungi https://developer.wordpress.org/reference/
sumber
Anda dapat melakukannya dengan ID
sumber
post_exists and
bawaan yang dimaksudkan untuk melakukan ini, wp_insert_post` seperti dalam jawaban @ TimHallman. Semakin banyak kode yang tidak perlu yang Anda perkenalkan, semakin banyak perubahan yang menyebabkan kesalahan atau masalah pemeliharaan jangka panjang.WordPress memeriksa apakah ada tulisan berdasarkan judul
sumber