Salve a tutti,
oggi vedremo come, su script personalizzati,
dentro un ciclo di wp_insert_post,
non funzioni la f() 'tax_input';
Questo perchè WP ha dei controlli di sicurezza che ne proibiscono l'uso;
quindi se ad esempio dovete lanciare uno script di importazione da cron,
noterete che non vengono inseriti i 'tax_input', mentre se lo lanciate quando siete conessi
da backend, questi vengono inseriti.
SOLUZIONE:
bisogna dichiarare questi valori con la f() wp_set_object_terms
Esempio pratico:
/* Custom Post Type */
$post_args = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'showroom',
'post_author' => 1,
'tax_input' => array (
'vehicle-types' => $category,
'manufacturers' => array ($brand, $model)
)
);
// insert post
$post_id = wp_insert_post( $post_args );
---------> vanno dichiarati in questo modo:
$terms = array($brandName, $modelName);
wp_set_object_terms($post_id, $terms, 'manufacturers');
$terms2 = array($categoryName);
wp_set_object_terms($post_id, $terms2, 'vehicle-types');
oggi vedremo come, su script personalizzati,
dentro un ciclo di wp_insert_post,
non funzioni la f() 'tax_input';
Questo perchè WP ha dei controlli di sicurezza che ne proibiscono l'uso;
quindi se ad esempio dovete lanciare uno script di importazione da cron,
noterete che non vengono inseriti i 'tax_input', mentre se lo lanciate quando siete conessi
da backend, questi vengono inseriti.
SOLUZIONE:
bisogna dichiarare questi valori con la f() wp_set_object_terms
Esempio pratico:
/* Custom Post Type */
$post_args = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'showroom',
'post_author' => 1,
'tax_input' => array (
'vehicle-types' => $category,
'manufacturers' => array ($brand, $model)
)
);
// insert post
$post_id = wp_insert_post( $post_args );
---------> vanno dichiarati in questo modo:
$terms = array($brandName, $modelName);
wp_set_object_terms($post_id, $terms, 'manufacturers');
$terms2 = array($categoryName);
wp_set_object_terms($post_id, $terms2, 'vehicle-types');
Commenti
Posta un commento