簡體   English   中英

WordPress類別:如何在單個帖子中顯示名稱,子詞,描述和鏈接?

[英]Wordpress categories: how to display name, slug, description and link inside single post?

我想做的是,在single.php ,分別拉出Category的不同屬性,如下所示:

<?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>

        <a class="CATEGORYSLUG" href="CATEGORYLINK">
            <i class="fas CATEGORYDESCRIPTION"></i>
            <span>CATEGORYNAME</span>
        </a>

    <?php endwhile; ?>
<?php endif; ?>

要生產這樣的最終產品:

在此處輸入圖片說明

這樣我就可以使用:

  1. 將類別標簽作為CSS類,以為每個類別設置獨特的顏色樣式
  2. 類別描述作為Font Awesome類(在這種情況下為“ fa-wrench”),為每個類別分配一個唯一的圖標

(對於該項目,每個帖子將只分配一個類別,但是我想一個面向未來的解決方案將需要以這種格式輸出分配給該帖子的所有類別。)

所以我真的只需要知道如何單獨拉:

  1. 類別
  2. 分類鏈接
  3. 類別說明
  4. 分類名稱

您可以使用以下代碼獲取此信息。

$postcat = get_the_category( $post->ID );

它返回您要獲取更多信息的所有字段,請參閱此https://developer.wordpress.org/reference/functions/get_the_category/

您可以使用get_the_terms()函數獲取分配給該發布對象的所有類別,並遍歷每個類別來創建圖標等。

下面是一個示例,我調用了每個單獨的變量,以便可以清楚地看到對象屬性。

如果您只分配了一個類別,這也將起作用。

//get all categories:
$categories = get_the_terms(get_the_ID(), 'category');

//loop through categories
foreach ($categories as $category) {
    //get variables
    $slug   = $category->slug;
    $link   = get_term_link($category->term_id);
    $descr  = $category->description;
    $name   = $category->name;

    //echo your content
    echo '<a class="'.$slug.'" href="'.$link.'"><i class="fas '.$descr.'"></i><span>'.$name.'</span></a>';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM