WP-Planification : extension pour afficher les publications planifiées sur WordPress

Mathieu Chartier CMS (WordPress...) 47 commentaires

WordPress est un CMS extrêmement répandu et la communauté de fidèles et contributeurs est vaste, ce qui lui confère une place de choix dans le cœur des développeurs et webmasters. En effet, utiliser WordPress, c’est profiter des nombreux débogages, des mises à jour mais aussi des extensions offertes par les contributeurs, sans avoir à tout refaire manuellement. Non pas que les autres CMS ne bénéficient pas de modules ou extensions de renom, force est de constater que WordPress dépasse largement ses compères à ce jeu, et cela pour notre plus grand plaisir…

Je vous avais présenté ma première extension « Gestion-Tarifs » dans un article précédent, un premier essai sympathique pour afficher des tarifs ou des intitulés grâce à des shortcodes simples. Me revoilà avec une seconde extension plus avancée et dont le code est quasiment 100% dynamique en fonction des choix effectués par l’utilisateur.

Planification d’articles ou pages sur WordPress

WordPress dispose depuis plusieurs versions d’une option de planification dans le bloc « Publier » des articles et pages. Pour se faire, il suffit de cliquer sur « Modifier » en dessous de la date de publication pour obtenir un moyen de planifier l’affichage.

WP-Planification - Planifier une publication WordPress

Planifier les publications (articles ou pages) est très pratique pour prévoir de prochains affichages de contenus sans avoir à être présent le jour J. C’est également intéressant pour imposer une certaine fréquence d’apparition des articles à ses lecteurs. Ainsi, il suffit de préparer plusieurs articles et de les planifier aux dates désirées (avec une fréquence homogène) pour toujours apporter des nouveautés à ses lecteurs.

Seulement voilà, la planification d’articles ou de pages ne donne pas toutes les réponses aux divers usages de WordPress. Certes, elle est avantageuse mais en réalité, elle masque les contenus avant la date fatidique. C’est là qu’intervient l’extension WP-Planification

WP-Planification : faire du teasing et afficher les pages et articles planifiés

L’extension WP-Planification permet d’afficher les publications planifiées dans WordPress afin de ne pas attendre leur futur affichage. L’intérêt est simple, l’extension permet de faire du teasing sur des événements à venir ou des articles en cours de rédaction, c’est l’idéal pour faire saliver les lecteurs ou tout simplement pour prévenir des prochaines dates à retenir. Une fois la date de planification dépassée, le contenu se masque automatiquement... Prenons un exemple simple : si nous tenons le site d'un groupe de musique, nous préférons écrire sur les dates de concert à venir plutôt que sur les concerts passés (enfin, les deux sont intéressants mais c'est dommage de dire au public : "vous avez raté le concert d'hier..."). WP-Planification permet de répondre à ce type de besoin grâce à son paramétrage précis...

L’extension est entièrement paramétrable dans les réglages de WordPress, vous pouvez tout modifier (ou presque) comme le choix de l’ordre d’affichage des articles planifiés, le choix du titre, le format de la date, les balises de chaque section de code, la colonne WordPress de classement, etc.

Le module se décompose en deux parties :

  • un widget « WP-Planification » dont le titre peut être modifié (les autres options étant paramétrées dans les réglages de WordPress) ;
  • un shortcode [planification] pour afficher le bloc dans les articles ou pages de vos choix.

Vous pouvez télécharger WP-Planification 2.3 directement dans les plugins de WordPress (mise à jour détaillée en bas de cet article) ou avec l’archive suivante à décompresser dans le répertoire wp-content/plugins/.

Télécharger “WP-Planification 2.3.1”WP-Planification.zip – Téléchargé 588 fois – 673 kB

WP-Planification dispose d’un système de traduction avec des fichiers .po et .mo éditables avec des logiciels comme POEdit. Actuellement, seules les versions françaises et anglaises sont présentes et s’affichent selon la langue choisie dans le fichier wp-config.php à la racine de WordPress.

Options de WP-Planification (articles, pages...) sur WordPress

L’extension de planification de contenus dispose d’une feuille de style CSS spécifique mais vous pouvez l’ignorer dans les réglages si vous préférez créer votre propre mise en forme…

Conseils d'utilisation

Pour vous faciliter la vie en matière de gestion des contenus, voici quelques conseils d'usage :

  • créer une catégorie d'articles pour les contenus planifiés car vous risquez rapidement d'être perdu au milieu des articles publiés et de ceux qui sont planifiés ;
  • prévoyez une date large si vous faites du teasing, cela évitera de devoir modifier couramment la date de planification ;
  • paramétrer le widget ou le shortcode à votre guide ;
  • modifier la feuille de style CSS de WP-Planification ou ignorez-la pour faire votre propre mise en forme.

J’espère que cette extension vous plaire, et bien entendu, je suis ouvert à certaines pistes d’évolution dans la mesure du possible. Bon téléchargement, et bon teasing ! :D

Mise à jour vers WP-Planification 2.3 (17/03/2014)

Après une grosse mise à jour pour la version 2.1, les version 2.2 et 2.3 apportent un affichage à l'extension. Voici les nouveautés :

  • possibilité de gérer le nombre de publications affichées indépendamment entre le widget et les shortcodes ;
  • possibilité de choisir le nombre de publications à afficher avec le widget (la valeur des réglages devenant celle par défaut) ;
  • possibilité de choisir le nombre de publications planifiées à afficher avec les shortcodes. Il devient donc possible d'utiliser plusieurs fois les shortcodes mais avec un nombre d'affichage différent, il suffit d'ajouter le paramètre "nb" dans le shortcode comme dans [planification nb="2"] ;
  • modification des URL des liens (obtenues initialement dans la base de données) par les permaliens (donc avec réécriture d'URL directement) pour favoriser le référencement mais aussi pour résoudre certains problèmes d'accès aux contenus planifiés.

N'hésitez pas à me faire part (gentiment) des bugs que vous auriez pu rencontrer (autres que CSS bien entendu) et des pistes d'évolution que vous imaginez. Je pense que l'extension est relativement complète actuellement mais j'ai hésité à proposer plusieurs paramétrages parallèles, je verrais si j'ai le temps de faire cela un jour...

47 commentaires

  • Marvin dit :

    Hello,

    Merci pour l’extension c’est vraiment cool et bien pratique ;) Je vais tester ça direct, je vais pas être le seul je pense ^^

    • De rien ! J’ai encore des idées d’évolution et j’aimerais améliorer un peu l’affichage graphique global, on va voir ça… :D

    • Oh non, rien de secret, mais je ne veux pas m’engager à donner des pistes d’évolution si je manque de temps pour les mettre en application rapidement… ^^
      J’hésite par exemple à vraiment distinguer le widget du shortcode, comme ça les deux pourraient avoir des réglages distincts…

  • Marvin dit :

    Des idées secrètes ?? :)

  • Marvin dit :

    Bien vu :)

  • Sandrine dit :

    très intéressant! merci pour l’extension

  • lisa dit :

    merci! c’est très pratique

  • lebouletdunet dit :

    Article intéressant et plugin adapté à ce que je recherchais… Cependant une amélioration qui serait vraiment sympa serait de pouvoir afficher les futurs postes mais de ne pas pouvoir rendre les titres cliquables. Autre chose, pouvoir linker l’article a venir mais n’afficher qu’une partie du post ou que l’excerpt pour n’avoir qu’un extrait… penses que tu cela pourrait être dispo dans une prochaine MAJ ? :)

    • Merci !
      Pour ta première amélioration, sache que c’est possible, il te suffit de remplacer la balise d’encadrement du lien dans les options (« a » devient « span » par exemple), cela retirera le lien actif ! :D
      Pour ta seconde demande, j’avoue que ça peut en effet être intéressant et ça peut s’envisager. Je cogite à ça et dès que j’ai le temps, j’essaie de m’y pencher !

  • lebouletdunet dit :

    Merci Mathieu :)
    effectivement pour le lien, ca fonctionne. Je vais ajouter une idée également, ce serait de donner le choix d’affichage avec date + lien, thumb + date + lien, thumb + lien … ce serait pas mal. En tout cas merci pour ce plugin très utile.

    • Je prends note pour cette autre recommandation intéressante. En fait, cet outil, j’ai commencé à le créer quand j’étais en formation avec un stagiaire, je l’ai transposé en extension WordPress et j’avoue ne pas avoir réfléchi à certaines pistes d’évolution intéressantes… Merci ! :D

  • très utile! merci pour l’extension

  • jeanblock dit :

    Bonjour, y a t’il une possibilité de modifié la dimension de l’image à la une, c’est a dire, ne pas avoir l’image en forme de carré, mais de l’avoir dans la forme d’origine (rectangle pour mon cas) ?

    • Oui mais cela dépend de vos propres réglages. En fait, l’image reprend la miniature générée par WordPress lorsque nous ajoutons une image, il suffit de se rendre dans « Réglages » puis « Médias » et de modifier la taille des miniatures. Par défaut, la taille génère un carré, mais vous pouvez tout-à-fait la changer et créer des rectangles.

  • Dodo69 dit :

    Petite question de néofite, on ne peut voir le contenu de l’article ou de la page que si on est inscrit, donc pourrais-je personnaliser la page 404 qui apparait lorsque l’on est pas enregistré pour incité l’internaute à s’enregistrer.

    Merci d’avance

    • Bonjour,
      Excusez-moi, je ne comprends pas du tout votre demande… Comment ça le contenu de la page n’apparaît qu’en cas d’inscription ? L’extension n’est pas paramétrée pour bloquer les contenus, cela dépend plutôt des paramètres d’origine de votre WordPress. WP-Planification ne fait qu’afficher des articles planifiés, rien de plus au fond… Si vous avez ce type de blocage, cela vient d’une limitation des droits d’accès de vos utilisateurs, il faudrait alors ouvrir ses droits ou faire une redirection vers une page d’erreur personnalisée (un code peut-être ajoutée dans la page single.php du thème WordPress pour rediriger vers une page « d’erreur » personnalisée).

  • Dodo69 dit :

    Moi je comprends très bien votre réponse et je vous en remercie, c’est juste que je ne comprenais pas pour j’avais erreur 404 quand je n’était pas inscrit et l’article lorsque je l’étais.Cela vient de mon paramétrage de wordpress dite-vous.

  • Damien dit :

    Est-il possible de passer le paramètre « Nombre de publications affichées » dans le shortcode ?
    Je veux afficher sur la page d’accueil de mon site le liste des 3 prochaines dates grâce au shortcode mais je veux également me créer une page qui me liste toutes mes dates (là aussi grâce au shortcode)…

    Comment faire ?

    • Bonjour,
      Ce n’est pas prévu initialement mais l’idée est très bonne, il faudrait que je tente la mise à jour pour ajouter cela, ce serait bien pratique en effet !
      Il faut aller dans la fonction qui gère le shortcode et modifier son lancement pour ajouter un paramètre. J’essaie de voir ça rapidement, il faut juste que je ne l’oublie pas. :D

    • C’est bon c’est fait, j’ai ajouté la possibilité de gérer le numbre de publications affichées dans les shortcodes avec le paramètre nb. Téléchargez la version 2.2 et ça ira. :D

  • Damien dit :

    Super !!! Merci beaucoup…

  • Damien dit :

    Re…
    J’ai exactement le même problème que Dodo69 à savoir « on ne peut voir le contenu de l’article que si on est inscrit » ou admin connecté et ce malgré le statut public de l’article.
    En fait visiblement, WP-Planification fait un lien du type http://www.site.fr/?p=55 ce qui revient finalement à lancer le script d’ouverture d’un article. Mais il semblerait que WP n’autorise pas la lecture d’un article avant sa publication.
    Ma config : WP3.6.1 Twentyeleven
    Merci

    • Bonjour,
      Malheureusement je ne peux pas mieux vous répondre qu’à Dodo69. WP-Planification ne bloque pas les contenus, mais votre paramétrage de WordPress peut le faire lui, je pense qu’il faut plutôt regarder du côté des droits des utilisateurs. L’extension n’est pas problématique là-dessus car elle prend l’URL de base, mais si celle-ci est « bloquée par WordPress », alors ça bloque. :S

  • Damien dit :

    Ok donc faire un lien vers l’url de base n’a pas beaucoup d’utilité : le lien n’est pas utilisable tant que l’article n’est pas publié. J’ai la confirmation que ce n’est pas un paramètre modifiable dans WP : http://www.geekpress.fr/wordpress/astuce/autoriser-previsualisation-articles-visiteurs-1798/

    Sinon, petite question, comment se fait-il que lorsqu’on demande d’afficher l’article dans l’extension (option de l’extension W-Planification), le code html de l’article est supprimé?

    Encore merci

    • Très sincèrement je ne comprends pas, je suis un peu embêté… Pour utiliser l’extension tout comme plusieurs amis, personne n’a de problèmes avec les articles planifiés et les liens, ça leur affiche bien l’article (et à moi aussi d’ailleurs), donc là, je ne sais que répondre… :S

      Pour l’article, je viens de refaire un test et là encore, je ne sais pas quoi dire car il conserve mon code HTML. Décidément, je me demande si j’ai le même WordPress que les gens. ^^
      En revanche, le code HTML peut être perdu dans l’extrait, mais dans l’article il n’y a pas de raison puisque toute l’extension se base directement sur la table MySQL de WordPress (wp_posts). En gros, les données sont reprises telles quelles donc le code HTML ne peut pas « disparaître », de même que l’URL de l’article ne peut pas être « bloqué » comme ça, c’est vraiment dans les paramétrages quelque part qu’il doit y avoir un problème, très sincèrement. :(

  • rachel dit :

    bonjour, merci de cette extension bien pratique… mais j’ai un souci : une erreur 404 certainement due à une histoire de permalien… mais aléatoire… en fait l’erreur a été repéré par une amie qui testait le site, du coup, j’ai fait des tests et en effet, des fois ça pointe bien vers le lien de l’article, mais quand j’efface mon historique firefox, le même article m’affiche une erreur 404… et c’est le cas uniquement pour des archives planifiés, pas pour ceux publiés… j’ai vérifié mon htaccess, refait un nouvel article depuis que j’avais choisi comme permalien le nom plutôt que le chiffre par défaut, mais rien n’y fait, je ne comprends pas d’où ça vient… merci si vous voyez le problème ?

    • Bonjour,
      Je vous avoue que cette extension semble poser quelques problèmes au niveau des liens, mais je ne comprends pas du tout pourquoi… En effet, plusieurs personnes m’ont fait remonter des problèmes associés aux URL mais comme je vais chercher les liens vers les articles planifiés directement dans la base de données, il s’agit des liens « par défaut », sans réécriture d’URL. Quand je teste l’extension sur plusieurs sites qui usent des permaliens, ça marche, donc c’est difficile pour moi de réparer un problème que je n’ai pas, c’est ça le pire, mais je suis pourtant conscient qu’un truc ne va pas. Je pense qu’il va falloir que je fasse différemment, j’ai une idée (changer le code en récupérant le « numéro » de l’article et en passant par une fonction WordPress pour amener vers l’article). Je vais tenter de voir ça demain…

  • Rachel dit :

    Merci de cette réponse… J’ai un peu fouillé de mon côté et j’ai installé un plugin auto redirect 404 in 301 for trashed post qui permet pour chaque article de proposer une redirection… j’ai donc tenté pour mes articles planifiés d’y indiquer le permalien de base, mais en vain… pour résumer, j’ai l’impression que, une fois que j’ai effacé l’historique de navigation, tant que l’article n’est pas publié il n’en tient pas compte… par contre à partir du moment où j’ai refait mon accès à l’administration, dans ce cas-là le lien se fait très bien (permalien de base, pas sa redirection)… je ne sais pas si ces données clarifient les données du problème… merci dans tous les cas de votre écoute…

    • Je pense que c’est une question de rôle pour les utilisateurs du site. En gros, les articles planifiés s’affichent selon les rôles qui nous sont attribués, je ne vois que ça pour expliquer de tels problèmes, mais cela est indépendant de l’extension si tel est le cas.
      Pour le reste, comme je vais chercher les informations dans la base de données, je ne fais que lui demander d’afficher les articles dont le statut est « planifié » dans la base de données, c’est pour ça qu’il n’y a aucune raison que ça fasse ça normalement… Au fond, je n’utilise pas le système WordPress mais uniquement la base de données dans laquelle je pioche les informations qui nous intéressent pour les afficher à notre guise. :(

  • Rachel dit :

    J’ai testé le rôle par défaut d’administrateur pour tout visiteur du site mais ça ne change rien… mais du coup je ne sais pas trop comment continuer… fouiller du côté de la base de données ? merci dans tous les cas d’avoir pris le temps…

    • Je viens de faire une mise à jour des URL. Désormais, les URL seront celles des permaliens et non celles des URL enregistrées dans la base de données. Nous verrons bien si cela résout votre problème (ce que j’espère…)… :D

  • Rachel dit :

    j’ai téléchargé la nouvelle version mais rien n’y fait… du coup, au lieu d’utiliser wp-planification en widget avec un lien vers l’article, j’ai créé une page en éliminant tout ce qui est lien, que, définitivement, je n’ai pas réussi à faire fonctionner… bizarre bizarre… merci encore quand même, il y a peut-être un paramètre que je n’ai pas compris dans mon install…

    • Je ne pense pas que vous avez fait une mauvaise installation en particulier. Au pire, vous pouvez désactiver l’extension puis la réactiver, ça remet tout par défaut, vous verrez bien si ça vient de là… En tout cas, votre problème est très étonnant sachant que les URL sont valides. En gros, c’est comme si vos contenus planifiés étaient interdits pour les utilisateurs, c’est un problème au-delà même de l’extension (vous ne pouvez voir ces contenus que pendant votre session courante car vous êtes administratrice, mais une fois la session fermée et/ou le cache supprimé, ça redevient une erreur 404).

  • denis dit :

    Complétement novice en site Worpress, j’ai chargé votre extension WP Plannification

    Les Articles apparaissent quand je suis logué ou admin mais n’apparaissent pas (Oups, la page ne peut être trouvée ) quand je suis visiteur.
    Merci de votre explication

    • Bonjour,
      Je suis embêté car vous n’êtes pas la seule personne à qui l’extension provoque cela alors que sur tous les sites sur lesquels je l’utilise, je n’ai pas ce souci. Etant donné que je créé mes thèmes graphiques seuls, je commence à me demander si cela ne vient pas de « conditions » fixées dans les codes sources des pages. Il faut que je trouve ce qui cloche mais comme je n’ai pas le problème, c’est difficile de savoir si je tape juste quand je mets l’extension à jour… :S

  • Phil dit :

    Bonjour

    Egalement novice sur WordPress et en phase d’apprentissage intensif cette extension m’intéresse enormement ayant uniquement des dates de speactacles à mettre en avant (donc dates futures)… Mais je ne trouve malheureusement pas ou est générer le shortcode en question (en espérant que mon théme est compatible)
    Merci par avance de me dire ou il est possible de trouver ce fameux shortcode

    • Bonjour,
      Le shortcode est « unique » et est écrit dans le texte au-dessus des options. Il s’agit d’écrire tout bêtement [planification] pour afficher vos prochaines dates de spectacles ou [planification nb= »X »] si vous voulez limiter le nombre de spectacles affichés (« x » étant un nombre).

  • Phil dit :

    Ok effectivement j’avais tendance a chercher plus compliqué… et un moyen de faire adopter à cette événement la même apparence que les autres posts ?

    • Concernant l’apparence, il ne s’agit que de style CSS, il faut donc personnaliser les CSS, soit de votre côté, soit dans le dossier du plugin. J’ai mis plusieurs options afin que vous puissiez désactiver mes CSS par défaut pour faire les vôtres justement.

  • Yvan dit :

    Bonjour Mathieu. Merci pour votre plugin.

    Le souci d’erreur 404 liée aux articles planifiés remonte à plus de 6ans. Il s’agit d’un parti pris de WordPress et votre plugin n’y est à priori pour rien :). Je cherchais justement à résoudre ce problème sans utilisation de plugin et en essayant votre plugin (au demeurant bien fait) j’ai vu qu’il ne pouvait pas résoudre ce souci.

    Le souci est lié notamment au code présent dans le noyau, voir le fichier include/query.php ligne 3312 qui explique bien qu’il n’est pas possible d’afficher un article non publié quand on n’est pas connecté.

    J’ai modifié cette ligne par le code suivant et cela fonctionne de nouveau.

    if ( !$post_status_obj->public & ‘future’ != $status // ajout code : & ‘future’ != $status – prise en considération des articles planifiés dit future ) {

    Cette solution n’étant pas satisfaisante sur les mises à jour…, si toutefois tu peux agir sur la réécriture de cette portion de code directement via l’installation de ton module vous allez je pense rendre service à vos utilisateurs ;).

    Bonne continuation.

    • Bonjour et merci beaucoup pour cette amorce de solution.
      En effet, il est déconseillé de modifier le coeur de WordPress donc il va falloir faire différemment, sûrement en utilisant autre chose que $wpdb… Je suis un peu embêté mais peut-être que PDO ou mysqli_query (compatibles PHP 5.5 comme ça) feront l’affaire pour contourner ce bug de WordPress. Il faudra que j’y regarde… :D

  • topweb dit :

    bonjour,
    c’est une très bonne idée qui pourrait être utiles dans le cas où on veux faire du teasing..mais je me demande si cela n’influence pas en quelque sorte le référencement naturel en créant des page 404 ou en modifiant tout le temps les Urls…
    je n’ai pas encore utilisé cette extensions mais je me pose des question par rapport aux différents changement d’URL

    • Bonjour,
      Cela n’a aucune incidence négative en tout cas… En effet, l’extension va chercher automatiquement l’URL dans la base de données, il s’agit donc de la même URL que la page finale, une fois « officiellement » publiée. Qu’elles soient planifiées ou publiées, les URL de WordPress sont identiques !
      Par conséquent, il y a une continuité dans le référencement naturel, sans problème de redirections entre pages planifiées et publiées, ni de 404. :D

  • Delly dit :

    Bonjour,
    D’abord merci Mathieu pour ce plugin, il est vraiment simple et trés pratique.
    Je viens de lire les commentaires et effectivement j’ai le même soucis de lien qui me dirige vers une page d’erreur.
    Si cela n’est pas possible d’ouvrir le lien en tant que visiteur Lambda, est-il possible de désactivé le lien et le mettre uniquement comme texte d’information ?
    Une option qui serait dans le paramétrage du Plugin ! Pourquoi pas comme ça les infos sont visible et les visiteurs savent que l’article du 29 Janv 2016 (à venir) portera sur le réchauffement climatique …
    Merci de votre retour,

    • Bonjour,
      Merci pour votre commentaire. J’avoue être toujours « surpris » par ce bug illogique. J’ai moi-même installé ce plugin sur un site récemment sans avoir votre souci, étant donné que les informations sont récupérées directement dans la base de données (et donc indépendantes du sytème de « filtres d’affichage » de WordPress). Je ne sais donc pas comment vous aider sur ce point précis… :(
      En revanche, vous pouvez tout-à-fait annuler le lien, cela fait partie des options du plugin (listée ci-dessous) :
      – Affichage de la date et/ou du lien ? –> Choisir de ne pas afficher le lien ici !
      – Balises d’encadrement du texte (lien) –> Choisir une balise « span » par exemple au lieu de « a » pour annuler le fonctionnement du lien
      Régler ces deux options vous évitera d’avoir un lien. :D

  • Delly dit :

    Bonjour Mathieu,
    merci votre réponse rapide, je vais suivre l’évolution et vous tiendrez informé !
    Bonne continuation et bonnes fêtes de fin d’année.

  • Julien Carré dit :

    Bonjour,
    Merci pour la présentation. Il existe peut être quelque chose de mieux maintenant mais àa répond totalement à ce que je cherchais.

  • Déposer un commentaire

    L'adresse de messagerie ne sera pas publiée.* Champs obligatoires