WordPress
Créer un message par programme
Recherche…
Syntaxe
- wp_insert_post (array $ args, bool $ wp_error);
Paramètres
Paramètre | La description |
---|---|
$ args (Array requis) | Une valeur clé Tableau des éléments ci-dessous. |
$ wp_error (Boolean Facultatif) | Renvoie un WP_Error en cas d'échec. |
Remarques
Arguments
Le tableau suivant vous montre une liste d'éléments que vous pouvez utiliser dans le premier paramètre (Array).
Paramètre | La description |
---|---|
ID | (Int) L'identifiant de poste. Si elle est égale à autre chose que 0, le message avec cet identifiant sera mis à jour. 0 par défaut |
post_author | (Int) ID de l'utilisateur qui a ajouté le message. La valeur par défaut est l'ID utilisateur actuel. |
postdater | (String) La date du post. La valeur par défaut est l'heure actuelle. |
post_date_gmt | (Chaîne) Date du message dans le fuseau horaire GMT. La valeur par défaut est la valeur de $ post_date. |
Publier un contenu | (Mixte) Le contenu de la publication. Par défaut vide |
post_content_filtered | (String) Le contenu du message filtré. Par défaut vide |
titre de l'article | (String) Le titre du post. Par défaut vide |
post_category | (Array) Tableau de valeurs de catégorie post. |
post_excerpt (String) L'extrait de poste. Par défaut vide | |
post_status | (String) Le statut de la publication. Projet par défaut |
Type de poste | (String) Le type de publication. Poste par défaut |
comment_status | (Chaîne) Indique si la publication peut accepter des commentaires. Accepte ouvert ou fermé. La valeur par défaut est la valeur de l'option default_comment_status. |
ping_status | (Chaîne) Indique si la publication peut accepter des pings. Accepte ouvert ou fermé. La valeur par défaut est la valeur de l'option default_ping_status. |
post_password | (String) Le mot de passe pour accéder à la publication. Par défaut vide |
après le nom | (Chaîne) Nom de la publication ou slug. Par défaut est le titre de publication assaini lors de la création d'une nouvelle publication. |
to_ping | (String) Espace ou liste de liens séparés par un retour chariot à envoyer à ping. Par défaut vide |
cinglé | (String) Espace ou liste des adresses séparées par un retour chariot. Par défaut vide |
post_modified | (Chaîne) Date à laquelle le message a été modifié pour la dernière fois. La valeur par défaut est l'heure actuelle. |
post_modified_gmt | (Chaîne) Date à laquelle le message a été modifié pour la dernière fois dans le fuseau horaire GMT. La valeur par défaut est l'heure actuelle. |
post_parent | (Int) Définissez cette option pour le message auquel elle appartient, le cas échéant. 0 par défaut |
menu_order | (Int) L'ordre dans lequel le message doit être affiché. Par défaut 0. |
post_mime_type | (String) Le type MIME du message. Par défaut vide |
guid | (Chaîne) ID unique global pour référencer l'article. Par défaut vide |
tax_input | (Array) Tableau de termes de taxonomie indexés par leur nom de taxonomie. Par défaut vide |
meta_input | (Array) Tableau de méta-valeurs postées par leur méta-clé post. Par défaut vide |
Éviter les messages dupliqués
Lorsque vous exécutez cette fonction, vous pourriez probablement obtenir un message en double, du moins cela m’est arrivé. (Vous pouvez le vérifier dans la section Post WordPress)
J'ai trouvé une solution :
if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){
$my_post = array('post_title' => $title,
'post_content' => 'Content',
'tags_input' => $tags,
'post_category' => array(2),
'post_status' => 'publish'
);
$result = wp_insert_post( $my_post );
}
Explication
Avant d'enregistrer un nouveau message, validez si le nouvel article existe déjà en utilisant le titre du post comme paramètre, s'il n'y a pas de titre de publication, vous pouvez enregistrer votre nouvelle publication.
Vérifiez la documentation de get_page_by_title ici .
introduction
Parfois, nous avons un autre éditeur ailleurs que TinyMCE (Wordpress Default Editor). Cela se produit lorsque nous créons notre propre thème, plug-in ou quelque chose de spécifique; et nous devons écrire et manipuler un type de message et l'enregistrer dans notre base de données WP.
Donc, si vous êtes dans cette situation, vous pouvez utiliser une fonction Wordpress appelée:
wp_insert_post( array $args, bool $wp_error );
Créer un message de base
$basic_post_args = array(
'post_title' => 'My Basic Post',
'post_content' => 'This is a basic content',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8, 59)
);
wp_insert_post( $basic_post_args );
Créer une page de base
$basic_page_args = array(
'post_title' => 'My Basic Page',
'post_content' => 'This is a basic content',
'post_type' => 'page',
'post_status' => 'publish',
'post_author' => 1
);
wp_insert_post( $basic_page_args );