Question

Je suis vraiment à perte pour expliquer pourquoi cela ne fonctionne pas:

J'utilise un shortcode pour afficher une requête sur un type de poste personnalisé + taxonomie, c'est le segment de celui-ci:

        // - arguments -
        $args = array(
            'post_type' => 'customposttypename',
            'taxonomyname' => 'alpha',
            'post_status' => 'publish',
        );

        // - query -
        $my_query = null;
        $my_query = new WP_query($args);
        while ($my_query->have_posts()) : $my_query->the_post();

        // - variables -
        $custom = get_post_custom($post->ID);

... puis les variables continuer. La chose est cependant, quand je lance la boucle, il me montre tout le contenu du message par défaut (c.-à-titre, contenu, etc.), mais refuse de montrer le contenu de type personnalisé poste et des arrêts sur la dernière ligne ci-dessus (ligne 145), à-dire $custom = get_post_custom($post->ID); me donner l'erreur suivante ..

Avis: Undefined variable: en poste C: \ xampplite ... \ functions.php en ligne 145

Avis: Essayer d'obtenir la propriété de non-objet dans C: \ xampplite ... \ functions.php en ligne 145

Alors ici il me montre le titre, le contenu, etc. normalement (juste pas de contenu de type message personnalisé)

Quelqu'un a une idée de ce que je fais mal?

Merci!

Était-ce utile?

La solution

Avis: Essayer d'obtenir la propriété de non-objet

Would indciate que $post n'a pas de portée dans votre fonction. Une solution simple serait ici pour globaliser $post il a une portée, fixer efficacement l'erreur.

Cependant, chaque fois que vous créez une requête, ou d'exécuter la méthode boucle et appel the_post cela vous donne accès à WordPress modèle balises .

Plutôt que de mettre dans les déclarations globales que vous pourriez appeler get_the_ID() qui devrait contenir des cours id du poste donné (ie. Le poste actuel pour cette itération de la boucle).

Mettre à jour votre ligne de problème pour lire ..

$custom = get_post_custom( get_the_ID() );

Et cela devrait éclaircir le problème, bien sûr, en notant la portée de donner $post dans la fonction serait aussi le travail, ça ne serait pas aussi poétique ..;)

Petit retour en arrière question de côté à l'Asker, qu'est-ce que vous cherchez lorsque vous appelez get_post_custom, vérifiez que vous pour certaines clés de méta particulières, ou en boucle sur tous les éléments de méta vous trouvez? Il peut y avoir une certaine marge d'amélioration là-bas (si vous êtes intéressé).

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top