Wordpress et page de mot clefs

Gwen

iModo
Modérateur
Club iGen
Salut.

Je cherche à réaliser quelque chose qui me semblait simple et qui finalement s'avère impossible avec mes connaissances.

Afin de faire des liens vers les différentes pages d'un site type encyclopédique, je souhaite réaliser une page (ou plusieurs) regroupant tous les mots clef sur une page qui renverrait vers une page listant toutes les pages ou ce mot clef apparaît.

Donc, pour résumer :
Page de mot clef alphabétique -> liste des pages où ce mot est listé comme clef

Ensuite, c'est une solution que j'ai trouvée, si vous avez mieux pour gérer des entrées encyclopédiques, n'hésitez pas, je suis preneur. Même à changer de CMS.

Merci.
 
Tu cherches finalement à faire un moteur de recherche interne à ton site si j'ai bien compris ?

Je peux te refiler un vieux script où tu rentres toi même 1 à 1 les mots de recherche qui pointent directement sur telle ou telle page, avec aussi une possibilité de mettre les mots directement dans un menu déroulant. Mais c'est bien pour une 100 de mots, après ceci dit tu peux en mettre plus mais c'est assez fastidieux sauf si tu les rentres dès le début avec un petit nombre de requête.
Exemple sur cette page (en haut) où tu verras les 2 solutions :
http://www.renna.fr/accueil/RenNaaccueil.html

Sinon un très simple et rapide à mettre en place c'est utiliser Google pour configurer tes recherches là où tu veux sur ton site :
https://support.google.com/customsearch/answer/4513751?hl=fr&ref_topic=4513742

Après il y en à plein avec une base de données sql sur le net.

Sinon une page toute bête en html comme celle-ci qui recoupe sur le site un autre moyen de recherche ici par dates d'articles :
http://www.renna.fr/accueil/pageactumajaccueil.html
 
Dernière édition:
Ce n'est pas exactement ça. En fait, je pensais, sur chaque article, placer des mots clefs qui seraient regroupés sur une page spécifique qui lorsque l'on clique dessus donnerait la liste de tous les articles où ce mot est listé.

Mon but étant que l’internaute se rende sur cette page pour retrouver un article via un mot qu’il n’aurait pas forcément en tête.

Bien sûr, je souhaiterais que cela se fasse automatiquement et ne pas avoir à remplir moi-même une page de liens. Ce qui est source d'erreur.

Je pensais qu'avec une base de données, ça serait faisable, mais je ne trouve pas ou ne sais pas comment chercher.

Pour te donner un exemple, si je fais un site de recette, je mettrais les ingrédients en mot clef et cela construirait une page remplie d'ingrédients. Ensuite, lorsque l'utilisateur clique sur un ingrédient, ça lui donne une page contenant toutes les recette utilisant cet ingrédient où est listé ce mot clef.

Mais peut être que l'utilisation des mots clefs n'est pas la bonne et qu'il y a mieux ou plus fonctionnel.
 
Dernière édition:
Ok, je vois ce que tu veux dire. En fait se sont des TAGs.
Exemple ICI, et tu tapes sur le TAG tout en haut de l'article qui va t'amener sur une page du TAG du même nom regroupant tous les articles "badgés" sous ce TAG.

Mais si tu utilises wordpress un peu de lecture :
https://blog.axe-net.fr/utilisation-tags-wordpress/
 
Oublies mon second lien, ce n'est pas ce que tu recherches.
En fait après c'est une base sql qui faudrait créer avec requêtes dynamiques mais là... je passe la main.
 
Le second lien correspond à ce que je recherche, des TAG où ce que je nomme « mots clefs ».

Ma problématique est de rassembler sur une page tout ces TAG comme un index à la fin d’un livre. Je pensais, naïvement, que c’était d’une facilité déconcertante à faire dans WP mais finalement non.
 
En faisant des recherches, j'ai pensé à utiliser un système de "Nuage de TAG" que je limiterais à une seule page.

Je vais essayer de me concentrer la dessus car je ne trouve pas d'autre solution.
 
Cool, je regarde. ça semble pas mal.

À voir aussi si tu n’as pas intérêt à séparer l’usage de tes tags en créant par exemple une taxonomie dédiée uniquement aux tags de ton projet.
Je m’explique... enfin je vais essayer...
Pour reprendre ton exemple de livre de recettes, tu peux vouloir créer une taxonomie uniquement dédiée aux ingrédients et qui s’appellera donc ... « Ingrédients ». Dans « Ingrédients » tu y mets tous les tags correspondant. Dans le cadre spécifique de projet tu pourrai appeler cela « Index ».
Cette taxonomie s’affichera séparément quant tu créera un éditera un article, évitant ainsi la confusion avec les tags par défaut de Wordpess (que tu peux utiliser pour autre chose).

Juste une idée....

Edit : un lien : https://wordpress.org/support/article/taxonomies/
 
Excellente idée. Je vais étudier cette solution car ça répond parfaitement à ma problématique. Merci pour le lien.

J’ai fait un petit test là dessus ce matin dont voici le résultat sous forme de capture d’écran. Bon... tu m’excuseras pour les noms de recettes choisies mais j’avais la Salsa Du Démon incrustée dans la tête (va comprendre...).

J’ai donc créé une taxonomie « Ingrédient » qui peut être alimenté d’ingrédients donc et rattaché à n’importe quel article.
Quant tu créés un article (une recette dans l’exemple) tu peux directement créer un nouvel ingrédient (via la boîte intitulée « Ingrédient ») qui sera automatiquement rattaché à cet article et réutilisable pour d’autres articles.

56EE52D1-5958-4901-A4EF-AB8233D4553C.jpeg

Dans la partie administration de WordPress, la taxonomie ingrédient peut être visualisée/modifiée :

3D8E99F9-7D0D-4596-A385-61DE5B460897.jpeg

Maintenant, si tu veux voir tous les articles incluant un ingrédient spécifique suffit de cliquer sur le mot clé adéquat et voilà :

8137DEA0-4D86-46C7-AD39-65451BCD4562.jpeg
L’affichage de ce résultat peut-être personnalisé (avec un peu de code).

Pour aboutir à cela, j’ai :
  • Créé un thème « enfant » à partir d’un des thèmes standard de WordPress (twentysixteen). La raison est que je peux modifier / ajouter des fonctions au thème sans tout péter du thème original ;
  • « étendu » le thème en créant par code la taxonomie « Ingrédient ». Typiquement en ajoutant le code dans un fichier intitulé « fonctions.php » placé dans le thème enfant que j’ai créé ; Le code c’est ça :
  • Bloc de code:
    // Créer et intègrer la taxonomie "ingredient"
    function ingredient() {
    
        $labels = array(
            'name'                       => _x( 'Ingredients', 'Taxonomy General Name', 'text_domain' ),
            'singular_name'              => _x( 'Ingredient', 'Taxonomy Singular Name', 'text_domain' ),
            'menu_name'                  => __( 'Taxonomy', 'text_domain' ),
            'all_items'                  => __( 'All Items', 'text_domain' ),
            'parent_item'                => __( 'Parent Item', 'text_domain' ),
            'parent_item_colon'          => __( 'Parent Item:', 'text_domain' ),
            'new_item_name'              => __( 'New Item Name', 'text_domain' ),
            'add_new_item'               => __( 'Add New Item', 'text_domain' ),
            'edit_item'                  => __( 'Edit Item', 'text_domain' ),
            'update_item'                => __( 'Update Item', 'text_domain' ),
            'view_item'                  => __( 'View Item', 'text_domain' ),
            'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ),
            'add_or_remove_items'        => __( 'Add or remove items', 'text_domain' ),
            'choose_from_most_used'      => __( 'Choose from the most used', 'text_domain' ),
            'popular_items'              => __( 'Popular Items', 'text_domain' ),
            'search_items'               => __( 'Search Items', 'text_domain' ),
            'not_found'                  => __( 'Not Found', 'text_domain' ),
            'no_terms'                   => __( 'No items', 'text_domain' ),
            'items_list'                 => __( 'Items list', 'text_domain' ),
            'items_list_navigation'      => __( 'Items list navigation', 'text_domain' ),
        );
        $args = array(
            'labels'                     => $labels,
            'hierarchical'               => false,
            'public'                     => true,
            'show_ui'                    => true,
            'show_admin_column'          => true,
            'show_in_nav_menus'          => true,
            'show_tagcloud'              => true,
        );
        register_taxonomy( 'ingredient', array( 'post' ), $args );
    }
    add_action( 'init', 'ingredient', 0 );

  • Toujours dans ce thème enfant j’ai créé le fichier « taxonomie-ingredient.php » : WordPress va automatiquement exécuter ce fichier (c’est le principe des templates) quand je veux afficher la liste des articles associés à un ingrédient (c’est ce fichier qui est exécuté pour afficher la page présentée dans ma dernière capture écran). Ce fichier est simplement une copie sous un autre nom du fichier archive.php du thème parent. Je n’ai pas modifié le contenu mais je pourrai le faire si je veux modifier comment s’affiche la liste des recettes correspondantes à un ingrédient (en mettant par exemple uniquement le titre de la recette et un lien vers cette recette).
Je ne suis pas allé jusqu’à créer une page de tous les ingrédients. Cela n’est guère compliqué selon moi.

Je pense que tout ce que j’ai fait peut être réalisable via des plugins divers et variés (notamment pour créer la taxonomie) évitant éventuellement de se taper du code.
 
Je ne répond que maintenant car j’étais en déplacement pro ce week end. Je vais refaire ça de mon côté mais ça ressemble bien à ce que j’ai besoin. Merci beaucoup d’avoir pris de ton temps pour m’expliquer clairement la démarche.