web-dev-qa-db-fra.com

Comment obtenir la catégorie de l'article et la lier aux archives (de la catégorie)

J'essaie de concevoir un bouton dans la barre latérale qui est lié au message affiché. Le bouton est fondamentalement une "autre nouvelle dans CAT1". J'ai ce morceau de code:

<div id="pagine">
<?php 
$category = get_the_category(); 
if($category[0]){
echo '<a href="'.get_category_link($category[0]->term_id ).'"><div id="pagine"><ul><li>News su '.$category[0]->cat_name.'</li></ul></div></a>';
}
?>
</div>

qui affiche malheureusement la mauvaise catégorie. S'il vous plaît n'importe qui peut me dire comment le faire. Cela ne devrait pas être si difficile, je viens de commencer avec Wordpress.

2
Filippo Bonino

Un de ces trois devrait faire le travail pour vous ...

1. Fonction: the_category();

News su <?php the_category(', '); ?>

S'affiche sous la forme:

News su WordPress , Ordinateurs , Blogging

Et si une seule catégorie est affectée à un message, elle se présente comme suit:

Nouvelles su WordPress

2. Fonction: get_the_category_list();

<div id="pagine"><?php echo get_the_category_list(); ?></div>

S'affiche sous la forme:

<div id="pagine">
    <ul class="post-categories">
        <li>
            <a href="http://example.com/category/wordpress/" title="View all posts in Business" rel="category tag">WordPress</a>
        </li>
        <li>
            <a href="http://example.com/category/computers/" title="View all posts in Business" rel="category tag">Computers</a>
        </li>
    </ul>
</div>

Et si une seule catégorie est attribuée à un article, le résultat serait le suivant:

<div id="pagine">
    <ul class="post-categories">
        <li>
            <a href="http://example.com/category/wordpress/" title="View all posts in Business" rel="category tag">WordPress</a>
        </li>
    </ul>
</div>

3. Fonction: single_cat_title();

Si vous souhaitez afficher une seule catégorie (la catégorie avec l'ID le plus bas sera affichée) quel que soit le nombre de catégories attribuées à une publication, utilisez quelque chose comme ceci:

<div id="pagine">
    <ul>
        <li>
            <?php
                $category = get_the_category();
                echo '<a href="'.get_category_link($category[0]->cat_ID).'">News su ' . $category[0]->cat_name . '</a>';
            ?>
        </li>
    </ul>
</div>

Le code ci-dessus montre toujours une catégorie, comme ceci:

Nouvelles su WordPress

Donc, étant donné les codes (et ce que chacun fait), adaptez-les à vos besoins.

6
its_me

get_the_category renvoie un tableau de l'objet stdClass de toutes les catégories associées au post_id actuel.

$ category [0] vous donnera la première catégorie du tableau. Pour voir la cartographie faire.

<?php print_r( $category ); ?>
1
Chris_O