web-dev-qa-db-fra.com

Afficher uniquement certains messages en fonction du pays du visiteur?

Est-il théoriquement possible d'avoir la caractéristique suivante?

Chaque poste a un code de pays. Lorsqu'un visiteur arrive, le système déterminera le code de pays du visiteur. Ensuite, lorsque la page s'affiche, seule la publication avec ce code de pays est affichée. Cela doit également affecter les recherches de widgets/site, etc.

On m'a demandé d'évaluer cela. Je pense que cela conduirait à des déclarations if partout, dans la boucle, et je dois également modifier les widgets. Dans l'ensemble, je pense que c'est faisable mais difficile et rendrait la base de code impossible à maintenir. Cependant, je souhaite obtenir un aperçu de cette question, car je n'ai qu'une expérience des thèmes, pas du développement de plug-ins.

Aussi, je ne suis pas sûr de savoir comment marquer cela de manière plus appropriée. Toute suggestion est la bienvenue.

UPDATE: J'ai jeté un coup d'œil au 'Filtre de pays' plugin, c'est bien, mais le filtrage au niveau du contenu n'est pas celui de la publication. Je regarde aussi add_filter(request,...) pour voir si cela peut être fait à la racine.

3
lulalala

Merci Sisir! C'est assez possible, au moins je pense que je suis 2/3. En utilisant l'action pre_get_post, j'ai filtré les publications avec succès. Ce crochet d’action est plus puissant que add_filter(request,...). Il reste encore des points à corriger, tels que le filtrage des liens de commentaires récents liés aux publications cibles et la page de publication unique toujours affichée, mais je pense que cela devrait être possible.

0
lulalala

Est-il théoriquement possible d'avoir la caractéristique suivante?

Oui, théoriquement, il existe plusieurs API de géolocalisation, celles fiables que vous devez payer, telles que MaxMind.

La dernière partie semble étrange, si vous voulez le même contenu, utilisez simplement des fichiers de langue.

Si, pour une raison quelconque, vous souhaitez diffuser un contenu différent selon les pays, ce serait une tâche ardue. Vous voudrez probablement créer votre propre API ou votre page personnalisée par pays, vous ne voulez pas d'un milliard d'instructions.

1
Wyck