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.php
fichier, 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