Fractionner le contenu via ‘the_content()’ dans wordpress

Publié par Jean-Michel le

En ce moment, j’utilise le plugin suivant – ‘shortcoder’ pour me permettre de pousser toute la page d’accueil de mon site wordpress en utilisant un seul message. Voici la structure de mon post-

 [shortcode 1]
 [shortcode 2]
 [shortcode 3]
 [shortcode 4]
 [shortcode 5]
 [shortcode 6]

À l’heure actuelle, ils sont tous statiques et ne contiennent que du contenu html et javascript. Ce message est affiché sur mon index.php en utilisant la balise de modèle ‘the_content()’.

Mais maintenant, je vais extraire du contenu dynamique de mes autres publications à la place de certains de ces shortcodes dont la logique sera codée en dur dans le fichier index.php. Par ex.-

 [shortcode 1] static
 [shortcode 2] static
 [shortcode 3] dynamic
 [shortcode 4] static
 [shortcode 5] dynamic
 [shortcode 6] static

Juste pour être clair, toutes les sections statiques passeront par le shortcode mais les sections dynamiques seront codées en dur dans le fichier index.php. Cependant, à cause de l’ordre de série, cette logique est perturbée.

Lire également:  Wordpress : Comment afficher ma valeur meta_key dans ma boucle wp_query()

Je veux en quelque sorte diviser le contenu provenant de ‘the_content()’ dans les sections statiques appropriées.

Désolé pour le long message mais j’espère que quelqu’un pourra trouver une solution.

Solution n°1 trouvée

C’est ainsi que j’ai résolu mon problème en utilisant php normal éclater-

J’ai d’abord ajouté le séparateur ‘~’ pour tous mes shortcodes comme –

 [Shortcode1]~[Shortcode2]~[Shortcode3]

Ensuite, en utilisant le code suivant, j’ai séparé les shortcodes-

  <?php
    ob_start();
    the_content();
    $content = ob_get_clean();
    $part = explode('~', $content);
    ?>

Après cela, tout ce que j’ai fait a été de faire écho aux variables requises aux bons endroits dans le modèle –

<?php echo $part[0]; ?>,....

Solution n°2 trouvée

Vous pouvez créer votre ou vos propres codes courts pour appeler les scripts que vous souhaitez exécuter.

Lire également:  Bug Wordpress après la création d'un type de publication personnalisé

Par exemple, dans votre functions.phpfichier, vous pouvez ajouter quelque chose comme ceci :

<?php 
function my_shortcode_callback($atts){

   $name = attr('name');

   switch($name){
      case 'script_1':
         // run code for script_1, maybe through a custom function
         script_1();
      break;
      case 'script_2':
         // run code for script_2, maybe through another custom function
         script_2();
      break;

   }
}

add_shortcode('my_shortcode', 'my_shortcode_callback');
?>

Maintenant, dans votre éditeur de publication, vous pouvez ajouter votre propre shortcode entrelacé avec celui du plugin, tel que :

 [shortcode 1] static
 [shortcode 2] static
 [my_shortcode name='script_1'] dynamic
 [shortcode 4] static
 [my_shortcode name='script_2'] dynamic
 [shortcode 6] static

Donc, en gros, vous utiliseriez votre plugin pour le code statique et votre propre shortcode pour le code dynamique =)

Lire également:  Wordpress : Enveloppez les trois premiers mots dans une plage

J’espère que cela vous aide ou vous met dans la bonne direction. Fais-moi savoir!

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *