Fungsi WordPress digunakan untuk mengirimkan data secara programatik. Bidang standar untuk dikirimkan untuk memasukkan konten, kutipan, judul, tanggal, dan banyak lagi.
Untuk apa tidak ada dokumentasi adalah cara mengirim ke bidang khusus. Saya tahu itu mungkin dengan add_post_meta($post_id, $meta_key, $meta_value, $unique);
fungsinya.
Tapi, bagaimana memasukkannya ke dalam wp_insert_post
fungsi standar ?
<?php
$my_post = array(
'post_title' => $_SESSION['booking-form-title'],
'post_date' => $_SESSION['cal_startdate'],
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_type' => 'booking',
);
wp_insert_post( $my_post );
?>
php
custom-field
post-meta
posts
Robin I Knight
sumber
sumber
public
pengubah di depan "fungsi". Jika Anda memasukkan fungsi itu sendiri tanpa memasukkannya ke dalam kelas, Anda tidak perlu menambahkanpublic
Anda dapat dengan mudah menambahkan 'add_post_meta' setelah 'wp_insert_post'
sumber
Saya tidak berpikir Anda dapat menggunakannya dengan wp_insert_post () ;.
Alasannya adalah karena cara WP menyimpan dua tipe data. Posting disimpan dalam satu tabel monolitik besar dengan selusin kolom berbeda (wp_posts); bidang khusus disimpan dalam tabel 4-kolom yang lebih sederhana (wp_postmeta) yang sebagian besar terdiri dari kunci meta dan nilai, yang terkait dengan kiriman.
Akibatnya, Anda tidak dapat menyimpan bidang khusus hingga Anda memiliki ID kiriman.
Coba ini:
Posting codex ini membantu - ini agak kebalikan dari apa yang Anda lakukan (yaitu, menghapus baris DB demi penghapusan posting): http://codex.wordpress.org/Plugin_API/Action_Reference/delete_post
sumber
Gunakan
save_post
filter, lalu panggiladd_post_meta
fungsi filter Anda.sumber
save_post
action ada di bagian paling akhir dari fungsi, memiliki ID postingan dan objek diteruskan ke sana, jawabannya adalah suara.