Inserir novo termo durante a nova criação de post

4

Atualmente, estou trabalhando em um trecho para inserir uma nova postagem dinamicamente (é um tipo de postagem personalizado). Durante essa nova criação de postagem, preciso inserir termos em taxonomias personalizadas associadas ao tipo de postagem personalizado.

Estou com a famosa mensagem de erro "taxonomia inválida" e não sei como resolver isso.

Aqui está o código que estou usando:

  • o tipo de postagem personalizada é: property
  • a taxonomia personalizada é: type

Código:

// Insert property into DB
$property = array(
    'post_title'   => $title,
    'post_content' => $description,
    'post_status'  => 'draft',
    'post_author'  => 1,
    'post_type'    => 'property'
);

// Insert the post into the database
$property_id = wp_insert_post( $property );         

// Taxo Property Type
if( $property_type ) {

    // check if term exists
    $property_type_term = term_exists( $property_type, 'type' );

    if( $property_type_term !== 0 && $term !== null ) {
        // Term exists, get the term id
        $property_type_term_id = $property_type_term;
    } else {
        // Create new term
        $property_type_term_id = wp_insert_term(
                                    $property_type,     // the term 
                                    'type'          // the taxonomy
                                );
    }

    // Assign term id to post
    wp_set_post_terms( $property_id, array($property_type_term_id), 'type' );

}

Com esse código, a postagem é criada corretamente, mas o termo não é.

Qualquer ajuda seria muito apreciada!

    
por Remi 24.09.2012 / 15:13

1 resposta

1

Primeiro, você deve definir a taxionomia no tipo de postagem personalizada que acabou de definir apenas para postar comentários de pós-postagem do título que você não definiu para a taxnomia personalizada

$post = array('tax_input'      => [ array( <taxonomy> => <array | string> ) ] // For custom taxonomies. Default empty.
  'page_template'  => [ <string> ] // Requires name of template file, eg template.php. Default empty.
);

essa consulta definirá a taxnomia personalizada ao criar uma postagem personalizada verifique este link

    
por Sri 15.08.2014 / 14:50