J'utilise le plugin SimpleReach qui ajoute du contenu à chaque message en utilisant le hook de contenu. Le contenu ajouté est
<!-- SimpleReach Slide Plugin Version: {{srslide_plugin_version}} -->
<script type='text/javascript' id='simplereach-slide-tag'>
__reach_config = {
pid: '{{srslide_pid}}',
title: '{{title}}',
tags: {{{tags}}},
authors: {{{authors}}},
channels: {{{channels}}},{{slide_logo_elem}}
slide_active: {{srslide_disable_on_post}},{{slide_icon_elem}}
date: '{{published_date}}',
url: '{{canonical_url}}',
header: '{{srslide_header_text}}'
};
var content = document.getElementById('simplereach-slide-tag').parentNode, loc;
if (content.className){ loc = '.' + content.className; }
if (content.id){ loc = '#' + content.id; }
__reach_config.loc = loc || content;
(function(){
var s = document.createElement('script');
s.async = true;
s.type = 'text/javascript';
s.src = document.location.protocol + '//d8rk54i4mohrb.cloudfront.net/js/slide.js';
__reach_config.css = '{{srslide_css_url}}';
var tg = document.getElementsByTagName('head')[0];
if (!tg) {tg = document.getElementsByTagName('body')[0];}
if (tg) {tg.appendChild(s);}
})();
</script>
Cependant, Wordpress assainit le contenu en ajoutant des pauses et des paragraphes supplémentaires avant et après.
Je souhaite désactiver l'autop uniquement pour ce contenu afin que les sauts/paragraphes ne soient pas ajoutés.
Y a-t-il un moyen de le faire?
Quelques mises en garde avant de commencer. Il a essayé d'exécuter ce plugin mais apparemment, je dois m'inscrire sur un site tiers avant de pouvoir l'utiliser, ce qui jetterait des clés dans les tests.
Deuxièmement, j'ai du mal à reproduire ce problème. C’est peut-être parce que j’ai trop battu mon développeur et qu’il est temps de le nettoyer et de recommencer (ce qui est le cas), de sorte que cela soit dit ...
wpautop
s'exécute sur l'intégralité du contenu de la publication. À ma connaissance, vous ne pouvez en aucun cas limiter son exécution à une partie du contenu.
Je n'ai pas installé et testé ce plugin, je ne peux donc pas confirmer que votre analyse du problème est correcte, mais en général, vous pouvez effectuer plusieurs opérations pour éviter d'avoir du contenu wpautop
mangle:
wpautop
n'aurait rien à craindre.the_content
Le seul que vous pourrez peut-être effectuer est le n ° 3. Le script ajoute ce code au moyen de: add_filter('the_content', 'srslide_insert_slide_js');
. Vous devriez pouvoir supprimer cela avec remove_filter('the_content', 'srslide_insert_slide_js');
et le rajouter avec add_filter('the_content', 'srslide_insert_slide_js',1000);
pour le lancer après wpautop
.
Je ne pense pas que vous puissiez configurer autop comme ça.
La seule idée qui me vienne à l’esprit est de définir une méta de publication après avoir inséré la publication, puis défini une condition dans functions.php.
Je ne sais pas comment le message est ajouté par ce plugin, mais vous devrez récupérer son identifiant.
Ensuite, utilisez ceci pour ajouter la méta:
<?php add_post_meta($post_id, 'no_autop', 'true'); ?>
Puis désactivez l'autop sur les posts avec cette méta en ajoutant ceci à functions.php:
if(get_post_meta( $post_id, 'no_autop', true )=='') {
remove_filter( 'the_content', 'wpautop' );
}