內容目錄
內容簡介
此外掛是由Shepherd Interactive開發,造福社群使用,並不提供支援。若有任何問題,請在支援論壇上發問。
可以處理包含平行段落標題元素的HTML內容,
並會自動將它們嵌套在HTML5 <section>元素中。此外,
它還會有條件地在內容中加入一個帶有鏈接到每個
章節的<ol>目錄。例如:
<nav class='toc'><ol>
<li><a href="#section-first-top">First Top</a></li>
<li><a href="#section-second-top">Second Top</a>
<ol>
<li><a href="#section-first-sub">First Sub</a></li>
<li><a href="#section-second-sub">Second Sub</a></li>
</ol>
</li>
<li><a href="#section-third-top">Third Top</a></li>
</ol></nav>
章節依照原始文章內容的格式會被分割為:
<section id="section-first-top">
<h2>First Top</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</section>
<section id="section-second-top">
<h2>Second Top</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<section id="section-first-sub">
<h3>First Sub</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</section>
<section id="section-second-sub">
<h3>Second Sub</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</section>
</section>
<section id="section-third-top">
<h2>Third Top</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</section>
在頁面上添加目錄不僅有助於網站訪客瀏覽,還可以直接
在Google搜尋結果中顯示與目錄鏈接相關的章節(詳情參見此公告)。
因此,網站訪客可以在搜尋結果頁面上直接看到章節鏈接,
並且可以直接跳轉到相關的章節。
開始/結束標籤以及用於生成章節ID的前綴可以通過以下WordPress選項進行配置(附有其默認值):
sectionize_id_prefix:'section-'
sectionize_start_section:'<section>'
sectionize_end_section:'</section>'
sectionize_start_toc:'<nav class="toc"><ol>'
sectionize_end_toc:'</ol></nav>'
sectionize_post_types:'post,page'
外掛標籤
開發者團隊
原文外掛簡介
This plugin is developed at
Shepherd Interactive
for the benefit of the community. No support is available. Please post any questions to the support forum.
Takes HTML content which contains flat heading elements inline with paragraphs
and automatically nests them withing HTML5
conditionally prepends an
- Table of Contents (TOC) with links to the
sections in the content, for example:
This would reflect original post content such as:
First Top
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Second Top
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
First Sub
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Second Sub
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Third Top
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Original post content such as this would be sectionized as follows:
First Top
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Second Top
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
First Sub
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Second Sub
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Third Top
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Adding a table of contents as such not only aids navigation for visitors once
on the page, but Google also now provides direct links to such sections in relevant search result
snippets (see announcement).
So people browsing search results may be able to see your section links
right from the results page and then be able to jump directly to the relevant
section.
The start/end tags for both the sections and the TOC, as well as the prefixes
used when generating the section IDs, may all be configured via the following
WordPress options (with their defaults):
sectionize_id_prefix: 'section-'
sectionize_start_section: '
sectionize_end_section:
sectionize_include_toc_threshold: 2
sectionize_before_toc: '
'
sectionize_disabled: false (no corresponding function argument)
These global WordPress options may be overridden by individual posts/pages by
creating custom fields (postmeta) with the same names.
These options are retreived if their corresponding arguments are not supplied
to the sectionize() function (that is, if they are null):
function sectionize($original_content,
$id_prefix = null,
$start_section = null,
$end_section = null,
$include_toc_threshold = null,
$before_toc = null,
$after_toc = null)
This sectionize() function is added as a filter for the_content (this is
disabled if the option or postmeta sectionize_disabled evaluates to true):
add_filter('the_content', 'sectionize');
Noted above, the TOC is conditionally included. It is not included if:
there are no headings in the content (thus there is nothing to sectionize),
the headings are not nested properly (see below), or
the heading count does not meet the threshold (or the threshold is -1)
If the number of headings in the content is less than the
include_toc_threshold option/argument then the TOC is not displayed;
likewise, if include_toc_threshold is -1 then the TOC is not displayed.
Important! Regarding headings being “nested properly”, you must ensure that
you properly arrange your headings in a hierarchical manner in which no heading
is immediately preceeded by another heading that is more than one level greater
(e.g. an h3 must be preceeded by an h2 or another h3). For example, this
works:
h2
h3
h3
h4
h3
h2
But this does not:
h2
h4 -- fail
h6 -- fail
h2
If you make such a mistake, this plugin will abort and have no effect. An error
notice will be included in the HTML output in the form of an HTML comment.
Please see source code for additional documentation: numerous filters are provided
to further customize the behavior. Be one with the code!
To help serve HTML5 content, see the XHTML5 Support plugin.
