[Résolu] Champs personnalisés où je veux quand je veux ? (Créer un compte)

  • Statut : non résolu
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Messages
  • #459476
    imported_BenKenobi
    Membre
    Padawan WordPress
    93 contributions

    Bonjour,

    Je suis en train de m’essayer aux champs personnalisés. Je découvre le potentiel de cette fonction petit à petit et me pose donc plein de questions.

    Dans mon exemple, je vais avoir besoin de citer dans différents articles un nom d’auteur, un titre de livre et d’autres info de ce type qui se présenteront dans mes articles de la manière suivante :

    Auteur : Hergé
    Titre : tintin
    etc.

    Ainsi, je créé une clé Auteur et pour mon article relatif à un album de tintin j’ajouterai alors la valeur Hergé.

    Cela aura pour effet de m’insérer dans un premier temps ‘Hergé’ là où j’aurai au préalable mis la ligne suivante dans le fichier single.php (je suppose que ces info ne doivent apparaitre que lors de l’affichage complet de l’article) :

    <?php echo get_post_meta($post->ID, “auteur”, $single = true); ?>

    Si maintenant, je souhaite que devant ‘Hergé’ s’affiche Auteur :, je vais devoir ajouté cela devant le code précédent :

    Auteur : <?php echo get_post_meta($post->ID, “auteur”, $single = true); ?>

    Seulement le problème en faisant cela, dans tous mes articles apparaitra au début le terme Auteur : même lorsque je n’en aurai pas besoin… et c’est là mon souci. En effet, certains articles ne parleront pas de livres et n’auront pas besoin de ces infos là…

    En fait, il faudrait conditionner l’affichage de “Auteur :” à la présence de la clé “auteur” dans le champ personnalisé. Ou bien inclure directement dans la valeur l’ensemble des informations : “Auteur : Hergé” mais là on perd de l’utilité des champs personnalisés et je serais embêté pour la présentation des informations…

    J’espère avoir été suffisamment clair dans mes explications.

    Merci de votre aide…

    #629923
    k-ny
    Membre
    Chevalier WordPress
    128 contributions

    Et hop !

    ID, “auteur”, true) ) { ?>
    Auteur : ID, “auteur”, true); ?>

    😉

    #629924
    benkenobi
    Gestionnaire du forum
    Maître WordPress
    4079 contributions

    Ca parait si simple ! :D

    Merci k-ny !

    #629925
    k-ny
    Membre
    Chevalier WordPress
    128 contributions

    Pas d’quoi ! Et vive les champs personnalisés :D

    #629926
    Nicolas-Gilles
    Membre
    Initié WordPress
    4 contributions

    Bonjour, je découvre WP, et je suis très emballé par celui-ci. J’ai hâte de pouvoir l’utiliser aisément au vu des blogs qui sont fait avec, ça donne vraiment envie de s’y mettre.

    Concernant les champs personnalisés j’ai a mon tours quelques petites interrogations.

    Je n’ai pas trouvé l’information qui disait que c’était le fichier “single.php” qu’il fallait modifier pour les faire apparaître.
    Ou avez vous trouvez cela pour que je puisse aussi me débrouiller mettre les mains dans le cambouis moi aussi ?

    Sur la page Utiliser les champs personnalisés, ce n’est pas clairement expliqué ? Sauf erreur de ma part bien sur.

    Si toute fois il en était autrement je suis navré. J’essaie de me familiariser avec le support, le forum alors je ne suis pas encore au top de ce coté la non plus.

    Merci. Bonne journée.

    #629927
    k-ny
    Membre
    Chevalier WordPress
    128 contributions

    Pourtant la page résume bien l’utilisation, mais c”est un peu en vrac. Pour faire simple:

    <?php the_meta() ?> : Permet d’afficher la liste des champs personnalisés et leur valeur. C’est assez brut de décoffrage comme technique puisque ça va t’afficher tous les champs perso du billet (et bien souvent on préfère caché certains champs, comme ceux généré par certains plugins)

    <?php echo get_post_meta($post_id, $key, $single) ?> : là je pense que tu as saisi le fonctionnement, c’est une fonction à laquelle tu donnes l’ID du billet, le nom du champs perso que tu veux récupérer et si il y a plusieurs valeurs à récupérer.

    <?php get_post_custom($post_id) ?> : retourne un tableau contenant les champs perso ainsi que leur valeur. L’ID en paramètre est optionnelle. C’est cette fonction qui sert de base à la fonction the_meta()

    <?php get_post_custom_keys($post_id); ?> : retourne un tableau contenant le nom des champs perso (pas les leurs valeurs). ID optionnelle.

    <?php get_post_custom_values($key, $post_id); ?> : Retourne un tableau qui contient toutes les valeurs d’un champs perso donné. ID Optionnelle.

    Moralité, la fonction la plus utilisée est get_post_meta, qu’il te suffit d’utiliser comme dans l’exemple que j’ai donné sur mon 1er message, tu remplaces juste “auteur” par le nom du champs que tu veux afficher …

    #629928
    Nicolas-Gilles
    Membre
    Initié WordPress
    4 contributions

    Merci K-ny pour les précisions, et tes exemples plus haut sont super bien fait ! C’est même eux qui m’ont donné envi d’essayer les CP.

    Sans doute parce que je n’ai pas lu toute la doc, ce qui me “tourmente” le plus c’est le fait de mettre le code
    dans la page single.php ça je ne l’ai pas vu expliqué quelque part dans la doc. Rien lu qui nous dis “prenez ce fichier pour utiliser les champs personnalisé”. Franchement sans avoir lu ce post sur le forum j’y serai encore je crois. J’avais bien compris qu’il fallait passer par quelques ligne de code mais après je n’aurai pas su ou les mettre.

    ça fait à peut prêt une semaine que j’étudie WP, son utilisation de base reste vraiment accessible, je pense qu’il va met falloir un peu plus de temps pour aller plus loin.

    Merci

    #629929
    jmini
    Membre
    Chevalier WordPress
    220 contributions
    Nicolas-Gilles wrote:
    Je n’ai pas trouvé l’information qui disait que c’était le fichier “single.php” qu’il fallait modifier pour les faire apparaître.
    Ou avez vous trouvez cela pour que je puisse aussi me débrouiller mettre les mains dans le cambouis moi aussi ?

    Lit cette page :
    Hiérarchie des templates pour comprendre quel fichier de template est appeler dans quel cas (si certain fichiers sont absents, WP se rabat sur un template plus général)

    De manière générale les Tutos de Fran6 pour créer ses thèmes sont assez bien fait

    #629930
    Nicolas-Gilles
    Membre
    Initié WordPress
    4 contributions

    Merci jmini,

    Très bonne adresse ! Je ne connaissais pas et effectivement je devrais y trouvé pas mal de réponses à mes questions.

    Je me plonge dans cette lecture de suite, merci bon weekend et à très bientôt.

9 sujets de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.