web-dev-qa-db-fra.com

Sidebar personnalisé sur les pages de catégorie

Sur mon site Web, j'ai deux pages de catégorie, l'une appelée "agenda" et l'autre "artículos". J'ai défini le thème dans le menu principal:

https://institutoschuman.org/

J'aimerais que la barre latérale soit différente pour chacune des pages de cette catégorie. Malheureusement, mon thème ne me laisse pas faire cela. Est-il possible de faire cela sans installer beaucoup de plugins? Ou, y a-t-il un seul plugin qui me permet de faire cela?

Merci de votre aide

1
Stefano

une façon d’atteindre votre objectif serait de créer un thème enfant ( https://codex.wordpress.org/Child_Themes ). Vous créez un dossier à l'intérieur de /wp-content/themes/, puis ajoutez un fichier style.css à l'intérieur, avec quelques lignes de commentaire en haut pour indiquer à WordPress qu'il s'agit d'un thème enfant, quel que soit votre thème actuel.

Exemple de fichier style.css: tout ce que vous avez à faire est de changer parent-theme-folder-name en choisissant votre dossier de thème original. Ainsi, par exemple, si vous utilisez actuellement Twenty Sixteen, remplacez parent-theme-folder-name par twenty-sixteen.

/*
Theme Name: Custom category sidebars
Version: 1.0
Template: parent-theme-folder-name
*/

Ensuite, pour créer vos nouvelles barres latérales, créez un functions.php vierge dans votre dossier de thème enfant et ajoutez:

<?php
/**
 * Add custom sidebars for categories
 */

// Agenda Category Sidebar
register_sidebar(array(
    'name'          => 'Agenda sidebar',
    'id'            => 'agenda-sidebar',
    'description'   => 'Agenda category sidebar'
));

// Articulos Category Sidebar
register_sidebar(array(
    'name'          => 'Articulos sidebar',
    'id'            => 'articulos-sidebar',
    'description'   => 'Articulos category sidebar'
));

Enfin, créez un fichier category-agenda.php vierge et un fichier category-articulos.php vierge. Copiez et collez le code category.php de votre thème original directement dans ces fichiers. Ensuite, recherchez la partie de la barre latérale et modifiez la partie où elle appelle la barre latérale:

Encore une fois dans cet exemple, il suffit de changer sidebar-slug pour votre nouveau slug: dans category-agenda.php, remplacez-le par agenda-sidebar et dans category-articulos.php, remplacez-le par articulos-sidebar.

Une fois tous ces fichiers créés et téléchargés, activez votre thème enfant et configurez les widgets dans les barres latérales comme vous le souhaitez.

2
WebElaine