Me suivre sur Twitter et Facebook

/// Ajout d’articles WordPress à la volée

Visit link
28 Jan / 2015
Auteur: Jedfolio Commentaires: 3





Cela fait un petit moment que mon blog est en léthargie, posteras tu un article, posteras pas… ma quantité de brouillons s’accumulent. Aujourd’hui j’ai décidé de partager un peu mes recherches, mes trouvailles pour un plugin WordPress que je suis entrain de me coder.

  • L’idée est simple :
    • Ajout automatique (massif ou non) d’articles de mon choix (spinnés ou non, tirés d’une base ou non)
    • Possibilité d’avoir une date spécifique
    • Optimisation de l’article (par défaut ton title = le titre de l’article)

 

  • L’environnement de mise en place :
    • Un hébergement mutualisé (actuellement sur OVH, mais Online n’est pas mauvais)
    • Version de php 5.4
    • Un WordPress vierge avec des catégories présentes
    • Le plugin WordPress SEO de Yoast installé (https://wordpress.org/plugins/wordpress-seo/ )

 

I Mise en place de l’univers des catégories WordPress

Tout d’abord on va partir du principe que vous avez au moins défini vos catégories du WordPress installé. Sinon si vous désirez faire un import « massif » ou tout du moins, trop contraignant à le faire manuellement, vous pouvez dans votre boucle, utiliser cette query du CMS pour la création des catégories :

wp_insert_term(
 ».$nom_de_ma_categorie. », // the term
‘category’, // définir que c’est une taxonomy catégorie
array(
‘description’=> ‘La description voulu de votre catégorie,
‘slug’ => ‘Url de votre categorie’, // ça peut être sympa si vous voulez mettre un mot clé supplémentaire
)
)

II Sélection automatique des catégories de votre WordPress

Quand vous ajoutez un article sans spécifier sa catégorie, WordPress l’assigne à la catégorie par défaut. On va donc faire en sorte que ce soit logique, assigné et surtout, en gardant ce principe d’automatisation.

Je vous laisse donc faire votre propre condition pour la sélection de l’id de la catégorie, car cela dépendra de votre projet (différent du mien). Par exemple j’ai une 30aine de catégories, dispatchées en catégories mères, et catégories filles. Je connais l’id des filles donc je fais un random de leur $id et je l’assigne ensuite à ma propre requête. Voici la query pour leur sélection :

<?php

// Il sera important de bien déclarer la variable d’environnement pour que vos requêtes fonctionnent ensuite

global $wpdb;

// On utilise ensuite une requête propre à WordPress et non à votre installation

// Cette requête fonctionnera sur tous vos WordPress car aucune déclaration spécifique est spécifiée

$categorievoulue = $wpdb->get_results(« SELECT * FROM $wpdb->terms a JOIN $wpdb->term_taxonomy t WHERE t.taxonomy =’category’ AND a.term_id = t.term_id AND a.term_id = « .$idrandom);

// La requête va sélectionner les ID de la table term, qui sont également dans la table taxonomy et qui sont des catégories, où l’ID est égal à votre ID spécifique au random, ou inscrit en dur si vous préférez

// En plus simple, vous sélectionnez les catégories de votre installation

foreach ($categorievoulue as $categorieresultat){

$idcategorie = $categorieresultat->term_id;

}

//La requête retourne un tableau avec différentes valeurs. Ici on va vouloir l’id (on peut également récupérer le name si jamais)

// Voila, vous avez la sélection voulue, et la préparation des articles peut commencer

?>

III Ajout automatique des articles

<?php

$my_post = array(
‘post_title’ => ‘titre article’,
‘post_content’ => ‘mon blabla du the_content article’,
‘post_type’ => ‘post’, // pour dire qu’ici c’est un article et pas une page
‘post_category’ => array($idcategorie), //obligé d’avoir un array, et l’id de la catégorie voulue
‘post_date’ =>’ma_date’, // permettra d’anti dater ou de publier au jour J ou dans le futur
‘post_date_gmt’ => ‘ma_date’,
‘post_status’ =>  » // 3 types possibles intéressant : publish pour publier, futur pour planifier sinon draft
);

$the_post_id = wp_insert_post( $my_post );

// Ici on va pouvoir modifier à la volée les Meta de l’article (vous pouvez ajouter d’autres méta si vous connaissez leurs noms
__update_post_meta( $the_post_id, ‘_yoast_wpseo_title’, ‘ton title’ );
__update_post_meta( $the_post_id, ‘_yoast_wpseo_metadesc’, ‘ta meta desc’ );

?>

En effectuant les modifications souhaitées, vous pouvez utiliser le code de l’article, j’ai fait en sorte que les explications soient dans le format commentaire du langage.

Avec cette fonctionnalité, vous pourriez effectuer différentes actions de manière automatique, sans forcément passer manuellement par l’ajout d’article etc..

Voici quelques exemples :

  • Vous avez déjà le contenu de vos articles et souhaitez aller plus vite dans leur création
  • Vous avez un système de spin du contenu et vous souhaitez le coupler avec l’insertion en automatique
  • Vous souhaitez automatiser l’insertion de l’article spinné sur X WordPress avec un plugin
  • Vous souhaitez modifier à la volée les POST META de Yoast
  • Etc, etc etc

Certains d’entres vous connaissent déjà ce code, ou n’en ont pas besoin de cette fonctionnalité, mais je me suis dit que ce serait pas trop mal de partager cette petite expérience qui touche à sa fin sur un projet.

Je demanderais à certains un peu de gentillesse, n’étant pas un développeur, j’ai essayé de faire au plus simple avec mes maigres connaissances. Donc si vous voyez des optimisations à faire, des erreurs de logique, n’hésitez pas à m’en faire part pour que je réalise les modifications nécessaires dans l’article.

Sur ce, Enjoy It et réalisez un projet qui vous fasse rire avec.




/// 3 Commentaires:

  • Daniel Roch 30 Jan 2015

    Pas mal du tout comme code, mais attention à certains éléments.

    Par exemple, pour ta requête SQL, il faut toujours faire un « prepare » (voir ici : http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks)

    Ensuite, dans ton update post meta, pense à vérifier que le plugin Yoast est bien installé et activé, sous peine d’ajouter des méta orphelines qui viendront polluer la base de données.

    PS : je te conseille d’utiliser le plugin PastaCode pour afficher du code dans tes articles, cela les rendra bien plus lisibles.
    Daniel Roch Articles récents..Les mots clés de WordPress et référencement naturelMy Profile


  • Jedfolio 30 Jan 2015

    Est ce que le « prepare » est vraiment utile? sachant que ce bout de code sert à l’admin pour injecter sur son/ses site(s) et non à l’ouverture pour d’autres posteurs.
    Pour la vérification, j’y ai pensé et c’est pour ca qu’en intro je pars du principe qu’il est installé car justement, cela permettra de compléter réellement l’intérêt de la fonction (modification Title et Méta Desc). Sans ce plugin modifiable via le code, le title sera égal au titre de l’article, donc moyennement (voire peu) optimisé au niveau SEO.

    Pour le plugin PastaCode, je vais le mettre en effet. Pour le moment je ne pensais pas partager tout un bout de code, mais au vue du travail de dev/recherche/cassage de tête, j’ai changé d’idée 🙂


  • Daniel Roch 30 Jan 2015

    Pour le prepare, c’est pour ne pas prendre de risque. Un mec pirate un accès admin, et si ce n’est pas assez sécurisé, il pourra reprendre ton code pour le pirater. On n’est jamais trop prudent.



/// Mon Twitter live

Découvrez mes différents Tweets sur le référencement et hors sujet

Copyright 2016 Jedfolio - Consultant SEO, SEA : référencement sur Lyon || Partenaires : Rédaction SEO | Location Camping