8768 sujets

Développement web côté serveur, CMS

Bonsoir,

Je suis débutant avec cette extension Wordpress et je n'ai toujours pas trouvé comment définir un simple champ de saisie pour un URL en pied de mes articles. (J'y suis parvenu pour le chargement d'un fichier pdf)

Il s'agit de placer un bouton nommé "Source" au pied de mes articles. Il doit pointer vers l'URL de la source de l'articles (cible blank).

Je ne comprends pas pourquoi je ne trouve pas une réponse à cette question "basique" concernant une extension majeure. Smiley ohwell
Bonsoir,

Et bien c'est assez simple : il suffit de créer un nouveau groupe de champ avec un simple champ de type texte.
Mettons qu'on lui donne le nom "Source" et qu'il ait l'identifiant "source".
Pour l'injecter dans un bouton (un lien hypertexte qu'on stylera sous la forme d'un bouton), on utilisera dans le thème le code PHP suivant :

if ( get_field( 'source' ) ) {
    echo '<a href="' . get_field( 'source' ) . '" class="bouton-source">Source</a>';
}

Modifié par audrasjb (18 Dec 2016 - 22:17)
Merci beaucoup Smiley cligne et désolé d'avoir répondu si tard, j'ai zappé l'alerte pour ta réponse !!!

Sinon, je ne vois pas l'option qui me permet de définir une cible blank, est-ce dans mes paramètres ACF ??

Merci !!
Modifié par goudurisc (21 Dec 2016 - 15:51)
Dans ACF tu ne fais que gérer un champ de type texte, rien de plus. C'est du côté du templating de ton thème que tu peux ajouter des attributs.

Je reprend le code que je t'ai fourni ci-dessus en y ajoutant l'attribut target (et en y plaçant un attribut title afin de prévenir le visiteur que ce lien aura un comportement spécifique et pas forcément intuitif : ouvrir un nouvel onglet) :


if ( get_field( 'source' ) ) {
    echo '<a target="_blank" title="Ce lien s’ouvre dans un nouvel onglet" href="' . get_field( 'source' ) . '" class="bouton-source">Source</a>';
}
Parfait merci beaucoup !

Sans trop abuser, j'ai aussi un pb de css. Je définis mon style bouton et tout s'affiche correctement quand un fichier est lié.

Cependant, quand il n'y a pas de fichier lié, le texte de mon bouton est bien masqué mais il y a encore une partie du background de mon bouton qui subsiste.

Comment masquer la totalité du style Smiley ohwell bouton quand un fichier n'est pas lié ?
Si tu as utilisé le code PHP que je t'ai proposé avec la structure conditionnelle qui teste si le get field renvoie quelque chose, alors c'est probablement que ton champ contient un espace blanc.
Dans ce cas, soit tu supprime cet espace blanc en B-O, soit tu ajoute un test supplémentaire avec la fonction PHP trim par exemple qui supprime les espaces blancs.

Sinon, tu as peut-être ajouté et stylé en CSS un conteneur à ce bouton qui englobe ce code ? Dans ce cas il faut l'y intégrer. Car si le code ne renvoie rien, ça va quand même t'afficher quelque chose, forcément Smiley smile