- Statut : non résolu
- Ce sujet contient 23 réponses, 4 participants et a été mis à jour pour la dernière fois par Theme wordpress francais, le il y a 8 années et 8 mois.
-
AuteurMessages
-
10 avril 2016 à 20 h 00 min #561831
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 4.4.2
– Version de PHP/MySQL :
– Thème utilisé : thème child vierge
– Extensions en place : ACF, qTranslate-x, Revolutionslider
– Nom de l’hebergeur :
– Adresse du site :Problème(s) rencontré(s) :
Bonjour,
Je viens vers vous car je dois rendre un site prochainement et j’ai beau chercher depuis deux jours maintenant, je n’arrive pas à faire fonctionner mon shortcode.
Mon site propose des activités (post_type=activite) qui sont rangées par catégories (taxonomy=category).
Je souhaite par mon shortcode, appeler les post inscrits dans la taxonomy ayant pour id=5.Voici mon code :
function activite_escalade( $atts, $content = null ) {
//récupère les paramètres
$atts = shortcode_atts(
array(
‘post_type’ => ‘activite’,
‘tax_query’ => array(‘taxonomy’ => ‘category’,
‘field’ => ‘id’,
‘terms’ => 5
)),$atts);
//transforme les paramètres en variables
extract($atts);//créer la requête
$query = array(
‘post_status’ => ‘publish’,
‘post_type’ => $post_type,
‘posts_per_page’ => $limit,
‘orderby’ => ‘date’,
‘order’ => ‘DESC’,
);
$post = query_posts($query);ob_start();
$return .= ‘
‘;while (have_posts()): the_post();
?>
}
function register_shortcodes(){
add_shortcode(‘activiteescalade’, ‘activite_escalade’);
}Malheureusement, cela ne fonctionne pas et lorsque j’inscris mon shortcode [activiteescalade] dans ma page, celui-ci ne s’effectue pas.
Pouvez-vous m’aider s’il vous plait ?
Merci d’avanceE.
10 avril 2016 à 22 h 04 min #1051063leo.d wrote:lorsque j’inscris mon shortcode [activiteescalade] dans ma page, celui-ci ne s’effectue pas.il y a un vide à la place ou bien il y a marqué « [activiteescalade] » ?
11 avril 2016 à 5 h 41 min #1051064il y a marqué « [activiteescalade] »
11 avril 2016 à 8 h 46 min #1051065cela veut dire que c’est la déclaration avec « add_shortcode » qui ne se fait pas correctement.
à quel moment appelez-vous la fonction « register_shortcodes() », elle doit se faire avant la génération du contenu de la page.11 avril 2016 à 11 h 14 min #1051066Ton $return ne sert à rien tu ne l’appelle pas (de plus la div n’est pas fermée après le endwhile), enfin je pense je viens de me lever 😉
11 avril 2016 à 11 h 15 min #1051067Si tu ferme la div , et appelle ton $return retire le point devant le =
11 avril 2016 à 12 h 36 min #1051068Merci pour les conseils. Pour le moment, mon site affiche une erreur 500 (youpi !). J’ai fait mes petits ctrl-Z pour revenir en arrière et avoir mes codes tout comme avant l’actualisation mais rien n’y fait. Du coup je n’arrive pas à savoir si l’erreur vient de moi ou de l’hébergeur…
mathieu9512 wrote:cela veut dire que c’est la déclaration avec « add_shortcode » qui ne se fait pas correctement.
à quel moment appelez-vous la fonction « register_shortcodes() », elle doit se faire avant la génération du contenu de la page.pour que le contenu se face avant le chargement de la page, il faut que je face une include dans mon header appelant mon fichier contenant ma fonction « register_shortcodes() » c’est ça ?
11 avril 2016 à 12 h 38 min #1051069oui ma phrase etait tout sauf correcte, je reprends donc :
Pour que la fonction soit appelée avant le chargement de la page, il faut que je face une include dans mon header appelant mon fichier contenant ma fonction « register_shortcodes() » c’est ça ?
12 avril 2016 à 11 h 10 min #1051070Dans le fichier functions.php de ton thème ou il faut creer un plugin
12 avril 2016 à 12 h 48 min #1051071Theme wordpress francais wrote:Dans le fichier functions.php de ton thème ou il faut creer un pluginBonjour,
J’ai bien pris en compte les corrections et ai placé « register_shortcodes() » dans functions.php mais rien à faire, j’ai toujours le même affichage.12 avril 2016 à 13 h 04 min #1051072tu n’appelles pas ta fonction function register_shortcodes()
Supprime la et laisse juste add_shortcode(‘activiteescalade’, ‘activite_escalade’);12 avril 2016 à 13 h 08 min #1051073Theme wordpress francais wrote:tu n’appelles pas ta fonction function register_shortcodes()
Supprime la et laisse juste add_shortcode(‘activiteescalade’, ‘activite_escalade’);Toujours pas de changement… 😕
12 avril 2016 à 13 h 29 min #1051074Je viens de mettre [activiteescalade] dans un article, je vois le shortcode (normal , pas de fonction)
J’ai mis la fonction telle que l’a écrite dans ta question, je vois toujours le shortcode
J’ai retiréfunction register_shortcodes(){ }
J’ai juste laissé
add_shortcode(‘activiteescalade’, ‘activite_escalade’);
et hop, ça marche, bon ok j’ai des notices, mais le shortcode cs lance en tous cas
12 avril 2016 à 13 h 35 min #1051075Chez moi, aucun shortcode ne s’affiche… J’ai toujours [activiteescalade] d’écrit…
12 avril 2016 à 13 h 52 min #1051076tu n’as pas de faute de frappe dans ton shortcode (sur l’article) [activiteescalade] ?
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.