tax_input no funciona wp_insert_post

2

Estoy usando wp_insert_post y todos los campos funcionan, excepto que tax_input está funcionando. ¿Hay algún problema con mi código?

$customtax =  array(
'product_link' => $link,
'product_price' => $price,
'product_description' => $desc );
$my_post = array(
  'post_title'    => $title,
  'post_content'  => $content,
  'post_type'     => 'products',
  'tax_input' => $customtax
);

Gracias de antemano

    
pregunta Shawn James 29.11.2015 - 18:35

3 respuestas

12

El motivo más común es que ejecute este código sin contexto de usuario (cron, etc.). Dentro de wp_insert_post() context WP verificará si el usuario tiene permisos para una taxonomía. Ningún usuario es igual a ningún permiso es igual a ningún término asignado.

La solución alternativa es crear primero la publicación, luego asignarle términos. Cuando los términos se asignan explícitamente mediante el método API (como wp_set_object_terms() ), no se realiza la verificación de permisos.

    
respondido por el Rarst 29.11.2015 - 19:35
2

Resulta que tax_input no funciona si un usuario no tiene las capacidades para trabajar con una taxonomía personalizada:

wp-includes / post.php (wp_insert_post):

Entonces, agregue los límites correctos o use wp_set_object_terms()

    
respondido por el Eduardo Marcolino 27.11.2017 - 14:18
0

Al utilizar tax_input para la inserción posterior, asegúrese de usar el ID de taxonomía de término, ya que parece que las babosas o los nombres se desechan

$my_post = array(
'post_title'    => $title,
'post_content'  => $content,
'post_type'     => 'products',
'tax_input' => array('myTax', array(4,458,11478)),
);
    
respondido por el user1180105 06.10.2016 - 15:46

Lea otras preguntas en las etiquetas