Agregar meta_input a wp_insert_post
En la documentación de wp_insert_post
hay un registro de cambios en la mitad de la página que dice lo siguiente:
Desde: WordPress 4.4.0 Ahora se puede pasar un array 'meta_input' a $postarr para agregar datos meta a la publicación.
Estoy usando WordPress 4.4.2. Intentaré agregar una nueva publicación ejecutando el código de la siguiente manera:
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']
)
)
) );
}
La publicación se agrega a la base de datos, pero sin los metadatos. He encontrado esta publicación en Stack, pero no puedo entender cómo implementar la sentencia if
.
También estoy interesado en la forma de agregar taxonomías (tax_input).

meta_input
es simplemente un array unidimensional como key => value
:
'meta_input' => array(
'name' => $post['name'],
'city' => $post['city']
)
tax_input
es ligeramente diferente, con la taxonomía como clave y un array de valores:
'tax_input' => array(
'taxonomy_name' => array(
'term',
'term2',
'term3'
)
)
Ten en cuenta que para que tax_input
funcione, el usuario que ha iniciado sesión cuando se ejecuta el código debe tener la capacidad de gestionar esa taxonomía, de lo contrario fallará silenciosamente.
