Créateur de thèmes WordPress :: Formateur :: Web Designer

WordPress :: Utiliser Markdown dans les Custom Post Type avec Jetpack

Publié le : 

Modifié le : 

Par : 

Markdown est un langage inventé par John Gruber en 2004. C’est un type de syntaxe wiki pour écrire de manière simplifiée du HTML. Son utilisation explosa depuis l’arrivée des smarphones, sous l’influence de quelques nerd, comme Merlin Mann par exemple.

Markdown

Depuis l’annonce fin novembre, j’ai suivi de près cette nouvelle fonctionnalité ajoutée aux sites hébergés par wordpress.com. Markdown est en train de remplacer TinyMCE (voir l’article de Sarah Gooding sur le sujet).

En septembre 2011, j’écrivais un article sur la Mobilité dans l’édition avec Markdown et WordPress. Tous mes contenus texte sont en Markdown et sont centralisés sur DropBox pour y accéder depuis n’importe quelle machine. J’attendais donc avec impatience l’intégration de Markdown dans WordPress avec Jetpack.

L’arrivée de Markdown dans Jetpack

Avec la sortie de la version 2.8 de Jetpack, c’est chose faite. Il y a un seul bouton à cliquer pour activer Markdown dans sa version Markdown Extra par Michel Fortin. Je me suis empressé d’essayer et dans la version mobile de WordPress, c’est enfin fonctionnel. On peut également écrire en Markdown et quelle fluidité. On se demande comment on pouvait auparavant rédiger des articles en html avec un smartphone.

Capture: Activer Markdown dans Jetpack de WordPress

Par contre, j’ai rencontré quelques soucis pour l’intégrer dans les Custom Post Types (contenus personnalisés). Après quelques tweets Jeremy Herve a rapidement apporté son support et en très peu de temps c’était réglé 🙂

Voici le post sur le Github officiel de Jetpack.

Ajouter le support de Markdown pour les Custom Post Type

Il y a deux solutions:

Dans le fichier function

Si vous n’avez pas accès aux réglages des Custom Post Type, choisissez cette méthode en ajoutant ce code, sans les balises PHP, dans le fichier functions.php de votre thème.

<?php
add_action('init', 'my_custom_init');
function my_custom_init() {
    add_post_type_support( 'product', 'wpcom-markdown' );
}
?>

Dans les arguments du CPT

Si vous avez accès aux réglages de vos contenus personnalisés, simplement ajoutez un paramètre dans les arguments du supports. Pour plus d’information, se reporter à l’article du codex pour la création des Custom Post Type.

<?php
// Register Custom Post Type
function custom_post_type() {

    $labels = array(
        'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ),
    );
    $args = array(
        'label' => __( 'product', 'text_domain' ),
        'supports' => array( 'title', 'editor', 'publicize', 'wpcom-markdown' ),
    );
    register_post_type( 'product', $args );

}
// Hook into the 'init' action
add_action( 'init', 'custom_post_type', 0 );
?>

Ajouter dans un plugin

Et la bonne nouvelle est qu’il est possible pour les créateurs de plugin d’ajouter Markdown à leur contenu. Bien sûr je pense à ACF. Je l’ai proposé sur le forum et voici la réponse: :-).

La fonction à utiliser est la suivante:

WPCom_Markdown::get_instance()->transform( $content )

Avec l’implémentation dans le plugin officiel.

Liens

14 réponses

  1. Excellent ! Encore une belle évolution de JetPack. Merci pour le partage et les solutions apportées.

    1. Merci Julien. Oui je suis vraiment de plus en plus fan de Jetpack. Et tu verras sur mobile, c’est un régal 🙂

  2. Salut,

    je découvre ton blog et bravo car il y a plein d’astuces intéressantes.
    J’utilise Jetpack pour les fonctionnalités les plus courantes et je dois dire que je vais à présent faire plus attention aux outils proposés !
    Je ne fais pas des mises en page de magazine mais un coup de pouce au niveau des outils est toujours bon à prendre !
    Merci en tout cas.
    A bientôt.

    1. Merci Mathieu
      Oui Jetpack est un outil puissant. Nous avons à dispositions beaucoup d’outils matures qui sont d’abord testés sur wordpress.com.

  3. […] 2.8 (en) apporte Markdown qui vous simplifie la mise en page. Il améliore aussi le Monitoring de votre […]

  4. Catastrophe ! Markdown dans Jetpack, c’est l’abandon du plugin Markdown on Save Improved – c’est le même concepteur – et je ne veux pas de Jetpack et de sa lourdeur sur mes sites.
    Une remarque au passage: Markdown Extra est dû à Michel Fortin qui a fait du super boulot (http://michelf.ca/projets/php-markdown/extra/).
    Et il va falloir que je valide mon abonnement aux commentaires, misère, foutu Jetpack…

    1. Bonjour Li-An
      Je te trouve un peu dur avec Jetpack. Si tu désactives les modules dont tu n’as pas besoin, je trouve que ça tourne bien.
      Oui, j’ai bien mis le lien vers le site de Michel dans l’article.
      Pour les commentaires, tu valides qu’une seule fois et tu as une page avec tous les abonnements. J’apprécie cette fonctionnalité par rapport à avant.
      Mais je respecte ton point de vue

  5. […] Depuis l'annonce fin novembre, j'ai suivi de près cette nouvelle fonctionnalité ajoutée aux sites hébergés par wordpress.com. Markdown est en train de remplacer TinyMCE (voir l'article de Sarah Gooding sur le sujet).  […]

  6. Je repasse pour dire qu’il y a un plugin pour activer Jetpack Markdown sans Jetpack – chouette – https://wordpress.org/plugins/jetpack-markdown/ et un autre pour activer Markdown dans les custom post http://wordpress.org/plugins/jetpack-markdown-support/

    1. Merci Li-An. Je vais ajouter ces liens à ma collection de plugin.

  7. […] autre côté, l'intégration grandissante de Markdown dans WordPress conduit certains à parler de la "mort" de TinyMce… ce qui me semble très très largement […]

  8. Bonjour,

    Je ne vois pas l’utilité des custom post type dans wordpress. Pouvez-vous m’expliquer ? Personnellement, si j’ai envie de faire des portfolio, je créé une galerie dans un article (avec une catégorie photos, par exemple), et je mets cette catégorie dans un menu personnalisé, et la voilà affichée sur mon blog.

    Merci pour vos éclaircissement,

    Bruno Roch

    1. Bonjour
      Dans votre cas, effectivement, c’est inutile. Dans d’autres, quand les données sont nombreuses et complexes comme une fiche technique, un simple module de type galerie ne suffit pas. Il faut pouvoir canaliser le contenu pour harmoniser l’affichage du contenu.

    2. Il faut quand même voir un peu plus loin que sa propre utilisation… J’utilise les custom post types avec de nombreux plugins: un plugin de gestion de bandes dessinées en ligne – qui permet de gérer à part pages BD publiées et billets traditionnels du blog – un plugin de téléchargement de fichiers (chacun des téléchargements est un billet de type personnalisé) et même un plugin de dictionnaire par survol de la souris sur un mot (chaque entrée du dico est un billet de type personnalisé). Les utilisations sont nombreuses lorsque l’on comprend la puissance de la chose.