Bonjour je suis un novice total (je ne code pas) et j'ai réalisé un site wordpress en deux langues différentes (français et anglais) en utilisant le plugin Polylang.
Mais je suis confronté au problème suivant: dans mon site web , il y a un bouton menant à une page Facebook en anglais et lorsque le site Web passe en français, j'aimerais que le bouton mette en lien vers une autre page Facebook (qui sera en français).
De quoi je recherché jusqu'à présent, je comprends que cela serait possible en utilisant javascript. Et j'ai essayé de nombreuses variantes du code suivant sans résultat:
<script>
jQuery(document).ready(function(){
$('html[lang=|fr] .fa-facebook').attr('href', 'https://myfacebookpage.com');
});
</script>
"fa-facebook" est la classe css du bouton de réseau social.
Qu'est-ce que je fais de mal et comment puis-je résoudre ce problème s'il vous plaît? Merci!
Edit: voici le code html de la version française: jsfiddle.net/yup5zxng
3 Réponses :
J'ai aussi essayé sans résultat:
<script>
jQuery(document).ready(function(){
$('html:lang(fr-FR) .fa-facebook').attr('href', 'https://myfacebookpage.com'); }); </script>
Fondamentalement ce que vous devriez faire, c'est vérifier la langue de la balise voici un échantillon en direct: https: / /jsfiddle.net/rhernando/kwndv609/3 p> edit fort>
J'ai oublié la structure arborescente de votre DOM L'élément de classe est une balise code> sur le document prêt et après une boucle à travers tous les liens Facebook et mettez à jour leur href code>. Quelque chose comme ceci:
code> de sorte que vous devez pointer sur son élément parent. Le code mis à jour devrait fonctionner. P> p>
Il le fait au moins ici: jsfiddle.net/rhernando/yphrq3j6/1 Si vous cochez la case liens d'icônes facebook, vous les pointerez vers https://facebook.com/my-french-site/ Aussi si vous changez la langue en en-EN et exécutez à nouveau le code, les liens pointent vers la fausse URL anglaise. Cela pourrait peut-être être lié au fait que votre configuration utilise Wordpress.
oui, cela me dérange car c'est la solution que je cherchais, mais quand je la mets en œuvre, elle ne donne pas les résultats attendus ... Merci pour votre temps et vos efforts!
vous avez une faute de frappe dans le sélecteur d'attribut:
| doit être avant = , pas après:
$('html[lang|=fr] .fa-facebook')
En savoir plus sur les sélecteurs d'attributs ici: https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
Merci, je l'ai changé mais il y a toujours un problème avec mon code car il ne fonctionne pas
pouvez-vous montrer le html? Le sélecteur fonctionne-t-il? pouvez-vous faire
console.log ($ ('html [lang = | fr] .fa-facebook'))?Oui le sélecteur fonctionne, j'ai essayé de le modifier en Css
cela aide-t-il -> stackoverflow.com/a/51956928/8851062 ?
Exécuter ceci dans la console:
jQuery ('html [lang = | fr] .fa-facebook')renvoie une erreur Erreur de syntaxe, expression non reconnue: html [lang = | fr] .fa -facebook . Ce sélecteur fonctionne bien que$ ('. Fa-facebook');Collez le code html dans votre question.
veuillez ajouter votre code HTML dans la question et indiquer votre problème exact
@DFFD vous pouvez ajouter jsfiddle et coller l'url