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?

Lire également:  Wordpress : Comment remplacer une barre latérale enregistrée dans un thème parent lors de l'utilisation d'un thème enfant ?

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.

Lire également:  Wordpress produisant plusieurs styles CSS de corps dans une balise de style CSS dynamique dans l'en-tête

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.

Lire également:  Wordpress : Disposition en deux colonnes avec ordre alphabétique

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 *