En tant que plus grand système de gestion de contenu (CMS) au monde, la publication d’articles et de pages est l’une de ses principales caractéristiques. Initialement, WordPress a été créé pour aider les propriétaires de sites Web à créer et à gérer leurs sites. De nos jours, il est devenu une solution complète pour toutes sortes de sites.

En plus d’être populaires parmi les blogs et les boutiques en ligne, il existe de nombreux autres types de sites Web construits avec WordPress, des catalogues aux annuaires en passant par les sites d’emploi, les wikis, les portefeuilles personnels, les forums ou même les réseaux de médias sociaux.

Tous les sites Web (à l’exception des sites statiques) publient un certain type de contenu avec une certaine fréquence. Les publications et les pages sont le type de contenu le plus basique par rapport à d’autres types tels que les produits, les commentaires, les critiques, etc.

Avant de voir pourquoi et comment créer des articles et des pages par programmation, comprenons mieux les différences entre eux. Cela vous aidera à suivre les bonnes pratiques et à éviter tout problème éventuel.

Différence entre la publication et les pages

1) Postes

Dans WordPress, les publications sont la façon dont un site Web fournit un contenu précieux et mis à jour à ses utilisateurs. On s’attend à ce qu’un site Web publie régulièrement des articles, mais cela varie beaucoup selon le type de site. Un blog d’actualités publiera du contenu beaucoup plus souvent qu’un site d’entreprise, de sorte que le nombre de publications sur un site Web peut varier considérablement.

Les messages sont généralement répertoriés dans l’ordre chronologique inverse sur les sites Web. Cela signifie que le dernier message publié sera visible en haut de la liste. Mais vous pouvez également rendre un message collant et l’afficher en permanence quelque part sur votre site Web.

Lorsque vous avez un grand site avec des centaines, voire des milliers de publications, l’utilisation correcte des taxonomies est essentielle pour permettre aux utilisateurs de trouver facilement n’importe quelle publication. Gardez à l’esprit qu’ils navigueront dans les catégories et sous-catégories, consulteront la liste des balises et utiliseront le champ de recherche. Pour plus d’informations à ce sujet, consultez notre article sur la façon d’ajouter des catégories au menu.

2) Pages

Contrairement aux publications, les pages sont censées être plus statiques que les publications. Cependant, ils incluent souvent un contenu constamment mis à jour. Par exemple, une page de boutique ou une page de catégorie aura certainement un contenu mis à jour, mais ce sont toujours des pages car vous ne publiez pas de nouvelle page de boutique à chaque mise à jour de produit.

Les pages telles que « À propos de nous », « Qui sommes-nous », « Contact » ou « Documentation » sont principalement des contenus statiques, elles ne sont donc généralement pas mises à jour très souvent.

Une autre différence entre les publications et les pages réside dans les balises et les catégories. Les publications peuvent avoir des catégories et des balises pour faciliter leur organisation et être utilisées dans les champs de recherche, tandis que les pages manquent de taxonomies.

Pour plus d’informations à ce sujet, consultez notre guide qui explique les différentes façons de créer des pages. De plus, nous vous recommandons de consulter notre tutoriel pour changer le type de publication dans WordPress.

Pourquoi créer des publications et des pages par programmation ?

Vous savez probablement comment créer des publications et des pages à partir du tableau de bord WordPress. Vous n’avez qu’à vous rendre sur Articles/Pages > Ajouter un nouveau et ajoutez un nom, un contenu, choisissez une catégorie, etc.

Cependant, si vous travaillez sur un projet plus avancé, vous aurez peut-être besoin d’une solution alternative. Par exemple, si vous devez automatiser le processus de publication pour répondre à une exigence spécifique ou restreindre l’accès à certains utilisateurs. Si tel est votre cas, apprendre à créer des publications et des pages WordPress par programmation vous sera très utile.

Comment publier WordPress publications et pages par programmation

Dans cette section, nous allons vous montrer comment créer des publications et des pages par programmation dans WordPress. Nous expliquerons le code ci-dessous, mais il est recommandé que vous ayez des compétences en programmation pour faciliter le processus.

REMARQUE: Comme nous allons modifier certains fichiers principaux, avant de commencer, nous vous recommandons de sauvegarder votre site. En plus de cela, créez un thème enfant si vous n’en avez pas encore ou utilisez l’un de ces plugins de thème enfant.

Comment publier des messages

Voici le script complet qui publiera automatiquement un post et l’explication du code ci-dessous. Gardez à l’esprit que vous devez coller le code dans le functions.php fichier de votre thème enfant

add_action( 'admin_init', 'QuadLayers_publish_post' );

function QuadLayers_publish_post() {
 
    if ( get_option( 'post_is_published_01' ) != 'yes' ) {
		 $postType="post"; 
		 $userID = 1; 
		 $categoryID = '1'; 
		 $postStatus="publish";  
		 $leadTitle="A post was published ".date("n/d/Y");
		 $leadContent="<h1>Programatically posted</h1><p>This post was published programatically and meta option saved as <b>post_is_published_01</b>. A PHP srcipt in the functions.php file of the child theme.</p>";
		 $leadContent .= ' <!--more--><p>Expensive they are, but they are totally worth it.</p>';
		 
		 # build time&date
		 $timeStamp = $minuteCounter = 0;  
		 $iCounter = 1; 
		 $minuteIncrement = 1; 
		 $adjustClockMinutes = 0; 
		 $minuteCounter = $iCounter * $minuteIncrement; 
		 $minuteCounter = $minuteCounter + $adjustClockMinutes; 
		 $timeStamp = date('Y-m-d H:i:s', strtotime("+$minuteCounter min")); 

	 	 # build post
		 $new_post = array(
		 'post_title' => $leadTitle,
		 'post_content' => $leadContent,
		 'post_status' => $postStatus,
		 'post_date' => $timeStamp,
		 'post_author' => $userID,
		 'post_type' => $postType,
		 'post_category' => array($categoryID)
		 );	
		 # publish it !
		 $post_id = wp_insert_post($new_post);

  update_option( 'post_is_published_01', 'yes' );
    }
}

Comme nous ne pouvons pas savoir si un message existe avant de le publier, nous devons enregistrer quelque part que notre message est publié. Si nous ne le faisons pas, notre article sera publié chaque fois qu’un écran principal sera chargé.

La table des options de la base de données est le bon endroit pour le faire. Nous stockons une option appelée post_is_published_01 après la publication du message, avec le update_option() une fonction. Et vérifier si l’option existe avec le get_option(). Si cette option est présente sur la base de données, le script ne fera rien.

Pour exécuter à nouveau le script, vous pouvez simplement changer le nom de l’option en post_is_published_02 ou tout ce que vous voulez.

À l’intérieur de if() conditionnel, vous pouvez voir comment nous définissons le contenu de la publication sur le premier bloc. Et nous devons préparer l’heure et la date pour correspondre aux exigences de WordPress.

Enfin, la fonction en charge de la post-édition est wp_insert_post()qui attache toutes les données précédentes déclarées dans la fonction

publier un article par programme

Comment publier des pages

La publication de pages par programmation est un peu plus simple. Dans ce script, nous n’aurons pas d’option de base de données pour vérifier si la page a déjà été publiée.

Comme les pages ont une fonction différente des articles et que les fonctions WordPress pour les articles et les pages sont différentes, nous pouvons utiliser le get_page_by_title() fonction pour vérifier si nous avons déjà publié une page avec le même titre. Et puis nous insérons les informations sur la page telles que l’auteur, le titre, le nom, etc.

Utilisez le script suivant pour publier une page sur votre site WordPress :

add_action( 'admin_init', 'QuadLayers_publish_page' );

function QuadLayers_publish_page(){
	$check_page_exist = get_page_by_title('Page published programatically', 'OBJECT', 'page');
	if(empty($check_page_exist)) {
		$page_id = wp_insert_post(
			array(
			'comment_status' => 'close',
			'ping_status' => 'close',
			'post_author' => 1,
			'post_title' => ucwords('Page published programatically'),
			'post_name' => strtolower(str_replace(' ', '-', trim('Page published programatically'))),
			'post_status' => 'publish',
			'post_content' => '<p>This is the content of the page, html tags are allowed here</p>', 
                        'post_type' => 'page', 'post_parent' => 'id_of_the_parent_page_if_it_available' ) ); 
        } 
}

publier la page par programmation

Conclusion

En résumé, dans ce guide, nous avons vu quelques différences clés entre les publications et les pages. Les publications ont tendance à être plus dynamiques et à avoir des taxonomies et des catégories, tandis que les pages ont tendance à être plus statiques et à ne pas avoir de taxonomies.

Même si dans WordPress, vous pouvez facilement créer des pages et des publications avec l’éditeur intégré, apprendre à le faire avec un peu de codage peut être utile dans certaines situations pour automatiser le processus de publication afin de répondre à des exigences spécifiques. Si tel est votre cas, apprendre à créer des publications et des pages par programmation peut vous faciliter la vie.

Dans ce guide, nous avons vu comment créer des articles et des pages et les différences dans les scripts. Nous vous encourageons à prendre ces scripts comme base et à les personnaliser pour votre site.

Avez-vous essayé de créer des publications et des pages avec un peu de code ? Cela a-t-il fonctionné comme prévu ? Faites-nous savoir dans la section commentaires ci-dessous!