web-dev-qa-db-ja.com

投稿のカテゴリを取得し、(カテゴリの)アーカイブにリンクする方法

サイドバーに表示されている投稿に関連するボタンをデザインしようとしています。ボタンは基本的に "CAT1の他のニュース"です。私はこのコードを持っています:

<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>

残念ながらこれは間違ったカテゴリを表示します。誰かがどうやってそれをするのか教えてください。それほど難しくないはずです、私はちょうどワードプレスから始めました。

2
Filippo Bonino

この3人のうち1人があなたのために仕事をするべきです...

1.機能: the_category();

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

次のように表示されます。

ニュースsu WordPressコンピュータブログ

また、投稿に割り当てられているカテゴリが1つだけの場合は、次のように表示されます。

ニュースsu ワードプレス

2.機能: get_the_category_list();

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

次のように表示されます。

<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>

1つのカテゴリのみが投稿に割り当てられている場合、出力は次のようになります。

<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.機能: single_cat_title();

いくつのカテゴリが投稿に割り当てられていても、カテゴリを1つだけ表示したい場合(IDが最も低いカテゴリが表示されます)は、次のようにします。

<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>

上記のコードは、次のように常に1つのカテゴリを示しています。

ニュースsu ワードプレス

つまり、コード(およびそれぞれの機能)を考えて、あなたのニーズに合わせてください。

6
its_me

get_the_categoryは、現在のpost_idに関連付けられているすべてのカテゴリのstdClassオブジェクトの配列を返します。

$ category [0]は配列の最初のカテゴリを与えます。マッピングを確認するには.

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