WordPress : Ajouter un article avec une catégorie par programme

Publié par Jean-Michel le

J’utilise la wp_insert_post()fonction pour créer un article avec des données personnalisées mais je ne parviens pas à ajouter des catégories et une image en vedette dans l’article, mon code est ci-dessous :

        $new_post = array(
        'post_title' => $leadTitle,
        'post_content' => $leadContent,
        'post_status' => $postStatus,
        'post_date' => $timeStamp,
        'post_author' => $userID,
        'post_type' => $postType,
        'post_category' => array('language'),
        'tags_input' => array('Language',"Temp")
        );

        $post_id = wp_insert_post($new_post);

Y a-t-il quelque chose qui ne va pas?

Solution n°1 trouvée

Please check below code:

$my_post = array();
$my_post['post_title']    = 'My post';
$my_post['post_content']  = 'This is my post.';
$my_post['post_status']   = 'publish';
$my_post['post_author']   = 1;
$my_post['post_category'] = array(0);
// Insert the post into the database
wp_insert_post( $my_post );"

Ou

$new_post = array(
    'post_title' => $leadTitle,
    'post_content' => $leadContent,
    'post_status' => $postStatus,
    'post_date' => $timeStamp,
    'post_author' => $userID,
    'post_type' => $postType,
    'post_category' => array('language'),
    'tags_input' => array('Language',"Temp")
    );

    $post_id = wp_insert_post($new_post);

Solution n°2 trouvée

Le post_categoryparamètre for wp_insert_post()doit être fourni sous forme de tableau d’identifiants de catégorie, si vos catégories ont une structure hiérarchique (pour les types de publication par défaut, c’est le cas):

'post_category' => array(90, 100)

Assurez-vous également que l’ID se trouve dans le tableau fourni en tant que int.

Plus détaillé, vous pouvez voir dans la documentation.

Si vous avez ajouté l’image dans le Media Libraryde votre site Web, vous pouvez l’utiliser comme pièce jointe pour votre article/page en utilisant IDcomme suit :

'_thumbnail_id' => 110

Si vous ne l’avez pas, vous devez d’abord ajouter une image en tant que attachmenttype à l’aide de wp_insert_attachment()la fonction.

Ainsi, votre fonction ressemblera à:

$new_post = array(
    'post_title' => $leadTitle,
    'post_content' => $leadContent,
    'post_status' => $postStatus,
    'post_date' => $timeStamp,
    'post_author' => $userID,
    'post_type' => $postType,
    'post_category' => array(99),
    'tags_input' => array('Language',"Temp"),
    '_thumbnail_id' => 110
    );

$post_id = wp_insert_post($new_post);

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *