J'ai créé une métabox personnalisée avec une zone de texte. Comment pourrais-je utiliser Markdown dans cette zone de texte? J'ai vu quelques WP plugins, mais ils semblent n'être que pour l'éditeur principal.
Vous pouvez télécharger une copie de PHP Markdown et l’utiliser pour analyser le contenu de textarea avant de l’enregistrer:
if ( ! class_exists( 'Markdown' ) ) {
require_once( plugin_dir_path(__FILE__) . '/markdown.php' );
}
$textarea_contents = Markdown::defaultTransform( $textarea_contents );
J'ai installé le champ personnalisé ACF WYSIWYG et Markdown Extra .
Dans functions.php
, ajoutez le code:
remove_filter( 'acf_the_content', 'wpautop' );
remove_filter( 'acf_the_content', 'wptexturize' );
add_filter( 'acf_the_content', 'Markdown' );
Chaque champ de publication personnalisé qui utilise acf_the_content
sera converti en Markdown. Vous pouvez aussi utiliser le contenu principal:
add_filter( 'the_content', 'Markdown' );
Le meilleur analyseur de Markdown que j'ai trouvé jusqu'à présent est le Parsedown
. Quelque chose comme ça:
if ( ! class_exists( 'Parsedown' ) ) {
require_once( get_template_directory() . '/Parsedown.php' );
}
$parsedown = new Parsedown();
echo $parsedown->text( $content );
Si vous avez affaire à un client, c'est la voie à suivre, Parsedown est presque à l'épreuve des balles.