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.