如何在 WordPress 帖子中創建目錄

已發表: 2021-06-10

目錄是 WordPress 帖子的必要組成部分,尤其是帶有許多標題的長帖子。 創建目錄有助於讀者輕鬆快速地遵循和掌握想法。 此外,它還可以幫助您在帖子中添加更多關鍵字,這對 SEO 非常有利。

目錄隱藏
  1. 1.創建目錄的方法
  2. 2.方法一:使用插件創建目錄
    1. 2.1. 步驟 1:為目錄創建和設置目錄
    2. 2.2. 第 2 步:在帖子中插入目錄
    3. 2.3. 步驟 3:自定義目錄顯示
    4. 2.4. 自定義每篇文章的目錄
  3. 3、方法二:用代碼創建目錄。
    1. 3.1. 步驟 1:為帖子創建目錄
    2. 3.2. 第 2 步:使用 CSS 進行自定義
  4. 4.遺言

創建目錄的方法

有兩種方法可以在 WordPress 帖子中創建目錄。

第一種方法是使用插件。 這對 WordPress 的代碼專家和新手來說都是簡單、快速且免費的。

第二個是使用代碼。 這使您可以自定義目錄,即使是最小的細節,但對於非編碼人員來說卻非常複雜。 我們將在這篇文章中寫下創建目錄的代碼。 只需複制並粘貼它!

讓我們先來看看使用插件創建目錄的過程:

方法一:使用插件創建目錄

步驟 1:為目錄創建和設置目錄

有許多免費插件可用於在 WordPress 中創建目錄。 我們選擇LuckyWP 目錄是因為它為我們提供了高度可定制且美觀的結果。 但是,這個插件有很多設置,一開始可能會讓你感到困惑。 因此,請按照我們的說明來節省您的時間。

LuckyWP 目錄是一個免費插件,可在 wordpress.org 上獲得。 您只需在Dashboard上安裝並激活插件。

LuckyWP 目錄是用於在 WordPress 中創建目錄的免費插件。

然後,轉到Settings > Table of Contents ,您將看到設置屏幕。

這裡有4個標籤需要注意: General、Appearance、Auto Insert、Processing headings 。 它們是用於設置和自定義目錄顯示的選項卡。 雜項是具有復雜且不重要的設置的選項卡,因此您可以忽略它。

在設置目錄時,您必須注意一些部分。

在此步驟中,您只需在“常規”選項卡上工作。

本節有很多設置。 為了節省時間,您應該關注以下重要部分:

  • 記數:要號的標題。 您應該從以下選項中選擇一個:無編號、十進制數字(嵌套)、羅馬數字(嵌套)

我選擇Decimal numbers (nested) ,所以我的 TOC 看起來像這樣:

您可以選擇標題前的數字樣式。

  • 標題:目錄的標題。 默認為內容

您還可以為目錄命名。

讓我們將其餘設置保留為默認值,因為這不會對您的 TOC 產生太大影響。

單擊保存更改以完成。 所以,我們已經完成了 TOC 的一般設置。 讓我們繼續下一步。

第 2 步:在帖子中插入目錄

有兩種方法可以在帖子中插入目錄:自動插入和手動插入。

自動插入意味著自動在所有帖子中添加目錄。 這種方式可以節省大量時間和精力,但是如果您只想在某些帖子中插入目錄,則行不通。

手動插入意味著如果您想在帖子中包含目錄,您需要自己將其插入到該帖子中。 這可能需要更多時間並且可能會出錯。

我們將詳細介紹這兩種方法。 您可以選擇適合您的選項。

自動插入

轉到選項卡Auto Insert > Enable 。 該插件默認選擇Post 。 如果您不想要它,您可以更改為其他帖子類型。

在“位置”部分,選擇要插入目錄的位置。 不要忘記單擊保存更改

設置索引的帖子類型和位置。

因此,所選帖子類型中的所有帖子都有目錄。

手動插入

手動插入聽起來很複雜,但實際上很簡單。 轉到處理標題選項卡。 在那裡,也選擇帖子類型,然後點擊Save Changes

在手動中,您還必須選擇帖子類型。

然後,轉到您選擇的帖子類型中帖子的帖子編輯器,單擊啟用目錄

在要插入字符的帖子的帖子編輯器中單擊啟用目錄。

現在,您的 TOC 已基本完成。 此外,我們甚至可以設置它的顏色、字體、項目大小……以使其更漂亮。 按照下一步操作。

步驟 3:自定義目錄顯示

自定義目錄顯示也有兩種方法:一次在所有帖子中自定義,並在每個帖子中單獨自定義。

自定義所有帖子中的目錄

您可以通過轉到“外觀”選項卡來詳細自定義所有目錄。 有許多設置,例如標題字體大小、項目字體大小、鏈接顏色……

無需注意所有設置,只需專注於您想要的。

例如,我不喜歡藍色和當前標題字體大小。 我想將顏色更改為深灰色和較小的尺寸,以便它們在帖子中看起來更好。 因此,我將自定義標題字體大小、項目字體大小、鏈接顏色並保留如下圖所示的其餘設置:

我們可以自定義目錄的許多設置。

您可以設置文本或背景的顏色。

自定義後我的 TOC 如下所示:

我的目錄示例。

現在,它看起來更加和諧。

但是,也許您希望在不同的帖子中有不同的目錄,只需向下滾動以閱讀如何在每個帖子中對其進行自定義。

自定義每篇文章的目錄

這項工作也簡單快捷。 首先,轉到帖子編輯器,選擇“目錄”>“自定義”

您可以在帖子編輯器中自定義每個帖子的表格。

出現自定義目錄彈出窗口。 你會看到一些熟悉的標籤,如上。 它們是General、AppearanceMisc。 .

轉到外觀選項卡並更改一些設置,同樣在插件的儀表板上進行編輯。 點擊保存完成!

有一些熟悉的設置可以自定義索引。

現在,讓我們看看自定義目錄的最終結果。

定制後我的目錄。

這兩種自定義方法都帶來了非常漂亮和詳細的目錄。 所以你可以自由選擇你喜歡的方式。

現在,讓我們來看看如何使用代碼來創建目錄。

方法 2:使用代碼創建目錄。

步驟 1:為帖子創建目錄

轉到外觀>主題>編輯器>functions.php

然後,將以下代碼添加到文件functions.php以將目錄插入帖子。

注意:此代碼僅將 2 個標題級別添加到目錄中

 函數 create_toc($html) {
    $toc = '';
    如果(is_single()){
        如果 (!$html) 返回 $html;
        $dom = 新的 DOMDocument();
        libxml_use_internal_errors(true);
        $dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
        libxml_clear_errors();
        $toc = '<div class="toc-bound">
            <div class="toc-ctr">
                目錄
            </div>
            <ul class="toc">';
        $h2_status = 0;
        $h3_status = 0;
        $i = 1;
        foreach($dom->getElementsByTagName('*') as $element) {
            if($element->tagName == 'h2') {
                如果($h3_status){
                    $toc .='</ul>';
                    $h3_status = 0;
                    }
                 如果($h2_status){
                    $toc .='</li>';
                    $h2_status = 0;
                  }
                  $h2_status = 1;
                  $toc .= '<li><a href="' . get_the_permalink() . '#toc-' . $i . '">' . $element->textContent 。 '</a>';
                  $element->setAttribute('id', 'toc-' . $i);
                  $i++;
            }elseif($element->tagName == 'h3') {
                如果(!$h3_status){
                    $toc .= '<ul class="toc-sub">';
                    $h3_status = 1;
                }
                $toc .= '<li><a href="' . get_the_permalink() . '#toc-' . $i . '">' . $element->textContent 。 '</a></li>';
                $element->setAttribute('id', 'toc-' . $i);
                $i++;
            }
        }
        如果($h3_status){
            $toc .='</ul>';
        }
        如果($h2_status){
            $toc .='</li>';
        }
        $toc .='</ul></div>';
        $html = $dom->saveHTML();
    }
    返回 $toc 。 $html;
}
add_filter('the_content', 'create_toc');

解釋:

代碼解釋
函數$toc = '<div class="toc-bound">
<div class="toc-ctr">
目錄
</div>
<ul class="toc">
向目錄添加標題並將其顯示在此之上。 您可以將文本“目錄替換為您希望在標題中出現的任何內容
變量h2, h3 標題級別被插入到目錄中。 如果你想與超視距呃標籤來代替H2,H3,改變整個參數,H2,H3標籤到你的代碼需要。
函數$toc .= '<li><a href="' 。 get_the_permalink() 。 '#toc-' 。 $i 。 '”>' 。 $element->textContent 。 '</a>'; 單擊後立即創建指向帖子中相應部分的跳轉鏈接。
函數if($h3_status){
$toc .='</ul>';
}
如果($h2_status){
$toc .='</li>';
}
$toc .='</ul></div>';
$html = $dom->saveHTML();
}
返回 $toc 。 $html;
在目錄中的每個標題前添加項目符號。

插入代碼後不要忘記單擊更新文件

在 function.php 文件中插入代碼以創建目錄。

然後,這是結果:

使用代碼創建目錄非常簡單,這是我的結果。

當然,我們需要稍微設計一下。 我們將使用 CSS——所有程序員最喜歡的工具。

第 2 步:使用 CSS 進行自定義

要通過 CSS 自定義,請轉到主題編輯器中的文件style.css 。 在那裡,您需要插入您自己編寫的代碼以根據需要自定義 TOC。

比如我想自定義目錄的顏色和強度,所以插入如下代碼:

 .toc 綁定 {
    背景色:#619162;
    顏色:#fff;
}
.toc-ctr {
    邊框底部:1px 實心 #fff;
    填充:10px;
    字體大小:20px;
    文本轉換:大寫;
}
ul.toc {
    列表樣式類型:無;
    填充:10px;
    左邊距:25px;
}
.toc li a {
    顏色:#fff;
}
ul.toc > li {
    字體大小:18px;
    字體粗細:700;
    填充:5px 0;
}
ul.toc-sub {
    列表樣式類型:無;
}
ul.toc-sub li a {
    字體粗細:200;
}

不要忘記單擊更新文件以保存它。

您也可以使用 CSS 設置索引樣式。

最終結果如下所示:

定制後我的圖表更有吸引力。

總之,使用插件和編碼都為我們提供了相同的漂亮目錄。 只要您滿意,您可以選擇任何選項。

最後的話

如您所見,在 WordPress 帖子中創建目錄並不復雜。 按照我們的教程,您將擁有漂亮的目錄。 一個好的目錄讓你的帖子更清晰、更專業。 因此,您的觀眾在閱讀您的博客時可能會有更友好的體驗。

如果您有任何問題,請在下面的評論框中提出。