wp_insert_post adăugare meta_input
În documentația funcției wp_insert_post există o notă de modificări la jumătatea paginii care spune următoarele:
Începând cu: WordPress 4.4.0 Un array 'meta_input' poate fi transmis către $postarr pentru a adăuga meta date postării.
Folosesc WordPress 4.4.2. Voi încerca să adaug o postare nouă rulând codul astfel:
function handle_post($post)
{
wp_insert_post( array(
'post_title' => $post['title'],
'post_type' => 'werknemers',
'meta_input' => array(
array(
'key' => 'name',
'value' => $post['name']
),
array(
'key' => 'city',
'value' => $post['city']
)
)
) );
}
Postarea este adăugată în baza de date, dar fără metadate.
Am găsit această postare pe stack, dar nu pot să îmi dau seama cum să implementez if statement.
Sunt interesat și de modalitatea de a adăuga taxonomii (tax_input).
meta_input este doar un array unidimensional de tipul cheie => valoare:
'meta_input' => array(
'name' => $post['name'],
'city' => $post['city']
)
tax_input este puțin diferit, având taxonomia drept cheie și un array de valori:
'tax_input' => array(
'taxonomy_name' => array(
'term',
'term2',
'term3'
)
)
Rețineți că pentru ca tax_input să funcționeze, utilizatorul conectat în momentul execuției codului trebuie să aibă capacitatea de a gestiona acea taxonomie, altfel va eșua fără niciun mesaj de eroare.