taxonomy – Adjuntando datos de taxonomía para publicar con wp_insert_post

Pregunta:

Estoy tratando de implementar un sistema de publicación frontal que muestra datos de taxonomía en varios campos de selección desplegable. Cada uno de los menús desplegables se nombra usando el "nombre" $arg en wp_dropdown_categories() .

wp_dropdown_categories( array(
    'taxonomy'      => 'location',
    'hide_empty'    => 0,
    'orderby'       => 'name',
    'order'         => 'ASC',
    'name'          => 'location',
) );

Como puede ver, la taxonomía es "ubicación" y el nombre seleccionado también es "ubicación".

Luego agrego las variables para cada uno de los menús desplegables de selección de taxonomía así junto con post_title, post_content, etc.

$title          = trim( $_POST['wpuf_post_title'] );
$content        = trim( $_POST['wpuf_post_content'] );
$tags           = wpuf_clean_tags( $_POST['wpuf_post_tags'] );
$customcategory = trim( $_POST['customcategory'] );
$cat            = trim( $_POST['cat'] );
$location       = trim( $_POST['location'] );
$sale_rental    = trim( $_POST['sale_rental'] );
$price          = trim( $_POST['price'] );

Finalmente agrego la información adicional en una matriz lista para ser enviada por wp_insert_post() . Estoy bastante atascado sobre si estoy haciendo lo correcto al agregar tax_input en la matriz como se muestra a continuación, ya que esto es lo que entiendo del códice que debo hacer.

'tax-input' => array( 
    $location,
    $sale_rental,
    $price
),

Para que todo termine luciendo así:

$my_post = array(
    'post_title'    => $title,
    'post_content'  => $content,
    'post_status'   => $post_status,
    'post_author'   => $userdata->ID,
    'post_category' => array( $_POST['cat'] ),
    'post_type'     => $customcategory,
    'tags_input'    => $tags,
    'tax_input'     => array( 
        $location,
        $sale_rental,
        $price
    ),
);

$post_id = wp_insert_post( $my_post );

Sin embargo, cuando envié la nueva publicación, todos los datos de la publicación estándar (y también mi tipo de publicación personalizada) están bien, pero las taxonomías no. Obviamente estoy haciendo algo mal, pero ¿qué?

Respuesta:

Use wp_set_object_terms después de tener el ID de publicación para cada taxonomía:

...
$post_id = wp_insert_post( $my_post );
wp_set_object_terms( $post_id, $location, 'location' );
wp_set_object_terms( $post_id, $sale_rental, 'sale_rental' );
wp_set_object_terms( $post_id, $price, 'price' );

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım