wp_insert_post agregar meta_input

3

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 una matriz 'meta_input' a   $ postarr para agregar metadatos posteriores.

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 metadatos. He encontrado esta publicación de pila , pero no puedo averiguar cómo implementar if statement .

También me interesa la forma de agregar taxonomías (tax_input).

    
pregunta ronnyrr 19.02.2016 - 00:51

1 respuesta

13

meta_input es solo una matriz de una dimensión como key => value :

'meta_input' => array(
    'name' => $post['name'],
    'city' => $post['city']
)

tax_input es ligeramente diferente, con impuestos como clave y una matriz de valores:

'tax_input' => array( 
    'taxonomy_name' => array( 
        'term', 
        'term2', 
        'term3' 
    ) 
)

Tenga en cuenta que para que tax_input funcione, el usuario que inició sesión cuando se ejecuta el código debe tener la capacidad de administrar esa taxonomía, de lo contrario, fallará en silencio.

    
respondido por el Milo 19.02.2016 - 01:05

Lea otras preguntas en las etiquetas