web-dev-qa-db-fra.com

Liens de la barre latérale pour différentes pages

Salut à tous, je me demande ce que je dois ajouter pour avoir une barre latérale différente pour une page de jeu?

J'ai créé une catégorie pour la page ( appelée PatientEdu ):

patcat

Et assurez-vous que la page est liée à la catégorie:

patcat2

Mais il semble toujours utiliser l'autre côté de la catégorie (ce que je ne sais pas non plus où se trouve son).

parcat3

Donc, toute aide serait géniale!

UPDATE

Mon code sidebar.php actuel est le suivant:

<?php if (is_active_sidebar('default-sidebar')) : ?>
<div id="sidebar">
    <h2>Default Sidebar</h2>
    <?php dynamic_sidebar('default-sidebar'); ?>    
</div>
<?php endif; ?>

et le code de fonction:

function

mise à jour 2

On dirait que c'est en utilisant la page single.php pour remplir la barre latérale?

<?php if (have_posts()) : ?>                        
    <div id="sidebar">
       <h3><?php echo get_cat_name(CAT_DOCTORS); ?></h3>
           <ul class="info-list">
             <?php while (have_posts()) : the_post(); ?>
              <li <?php if ($post_id == get_the_ID()) {echo 'class="active"';} ?>>
               <a href="<?php the_permalink(); ?>">
                 <span><?php the_title(); ?></span>
               </a>
             </li>
            <?php endwhile; ?>
           </ul>
   </div>
<?php endif; ?>
1
StealthRT

Enregistrez une nouvelle barre latérale en la collant dans le fichier functions.php de votre thème:

register_sidebars( 'id' => 'patientedu' );

Créez un fichier appelé sidebar-patientedu.php et collez-y les éléments suivants:

<?php if (is_active_sidebar('patientedu')) : ?>
<div id="sidebar">
    <h2>PatientEdu Sidebar</h2>
    <?php dynamic_sidebar('patientedu'); ?>    
</div>
<?php endif; ?>

Collez ensuite ceci où vous voulez que votre barre latérale apparaisse:

<?php get_sidebar('patientedu'); ?>
1
developdaly

Tout d’abord, WordPress crée automatiquement une barre latérale pour votre modèle si elle n’est pas définie (en créant un sidebar.php dans votre thème).

Deuxièmement, vous pouvez enregistrer plusieurs barres latérales en utilisant register_sidebars dans votre fichier functions.php.

La fonction modèle, get_sidebar , accepte un paramètre, $name, qui détermine le fichier de barre latérale à obtenir. Par exemple, si vous avez un fichier dans votre dossier de thème appelé sidebar-doctors.php, vous pouvez appeler <?php get_sidebar('doctors'); ?> dans votre thème et obtenir la barre latérale des médecins.

Vous pouvez utiliser ces techniques ensemble pour créer une barre latérale différente pour différentes pages de modèle.

Ou! Vous pouvez aller plus loin et ajouter le code suivant et créer un sidebar-<cat_slug>.php pour chaque catégorie. S'il n'y a pas de fichier php portant ce nom, WordPress utilisera par défaut son propre sidebar.php

<?php
if (is_category( ))
{
    $cat = get_query_var('cat');
    $yourcat = get_category ($cat);
    get_sidebar($yourcat->slug);
}
?>

J'espère que cela aide et que je n'ai pas complètement raté votre question.

1
Alex Lane