Fractionner le contenu via ‘the_content()’ dans wordpress
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.
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.
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 =)
J’espère que cela vous aide ou vous met dans la bonne direction. Fais-moi savoir!
0 commentaire