Bonjour,
j'ai crée de nouvelle metabox wordpress grace à ce tuto: (https://www.youtube.com/watch?v=bTiAR4kMfwc)
J'ai bien réussi à créer les metas etc, cependant je n'arrive pas à les afficher sur la page d'article en question ! J'aimerais que quand l'éditeur remplis le formulaire que j'ai crée(en metadonnées) il apparaisse sur l'article .

Mes fichiers: (https://mega.nz/#!W4BkTbgK!OSY0VVgknjNb6dM62RAls9lNuKCAegtu4xghUy5NSBs)

J'ai essayé pleins de truc mais sans aucun résultat...
En espèrent que vous avez la solution,
Merci d'avance,
Bonne journée.

5 réponses


Hello :)

La fonction pour afficher des infos venant de metabox est celle-ci : get_post_meta()
Je te link la page de la doc, tu vas voir, c'est très facile La doc

Bonne journée

Merci pour ta réponse ! J'avais déjà lu cette page sans vraiment comprendre haha, je sais que c'est simple mais je suis vraiment débutant en php et autre langage de programation... J'ai juste suivi le tutoriel sans vraiment tout comprendre.

Quand j'essaie d'intégrer : get_post_meta()rien n'apparait sur l'aticle. Je ne comprend pas, peut-être que je place le code au mauvais endroit ou qu'il est mal écrit !

Code (dans le fichier wp single.php)

                    <div class="entry-content">
                <?php

                <div class="smn_metabox">

                    $value = get_post_meta( get_the_ID(), 'smn_personne', true );
                    if ( ! empty( $value ) ) {
                        echo $value;
                    }

                </div>

                    do_action( 'et_before_content' );
                    the_content();
                    wp_link_pages( array( 'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'Divi' ), 'after' => '</div>' ) );
                ?>

De ce que je vois ici, tes balises php sont ouvertes au mauvais endroit. Tu ne peux pas avoir de html comme ça dans des balises php.
Essaie ça

<div class="entry-content">
    <div class="smn_metabox">
        <?php
                    $value = get_post_meta( get_the_ID(), 'smn_personne', true );
                    if ( ! empty( $value ) ) {
                        echo $value;
                    }
        ?>
    </div>
<?php
    do_action( 'et_before_content' );
    the_content();
    wp_link_pages( array( 'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'Divi' ), 'after' => '</div>' ) );
 ?>

C'est noté !
Je pensais bien qu'il y avait un problème au niveau de la structure du code. Malgré cette modification ça n'apparrait toujours pas sur les articles... Je ne sais plus quoi faire je pense tout recommencer, j'ai du faire une erreur au début ou je sais pas.

Est-ce que c'est bien $value que je dois mettre et non autre chose ?

Merci pour ton aide, si tu as une idée du pourquoi du comment ça ne marche toujours pas, je reste ouvert à toutes propositions.
Merci encore ! En espèrent que tu ai une solution.

Hello !
Désolé du délai de réponse...

As tu touvé ta réponse depuis ?
Si non, est-ce que tu as cherché à afficher le contenu de ta variable ?
Tu peux également directement regarder dans les tables de ta BD, histoire de voir si tes valeurs sont bien sauvegardées.