微胖猪猪侠 發表於 2023-10-21 00:00:00

WordPress站点实现分类目录订阅功能实例

<p>
WordPress有着比较强大的分类机制,包括文章分类、标签等,强大的分类机制可以用来实现门户网站的类似二级频道的功能,这样增加分类目录的订阅功能就比较重要了。</p>
<p>
WordPress 有原生的 RSS 订阅功能,但是通常只是生成整站的文章订阅和文章的评论订阅。本文就来介绍如何生成分类目录的订阅链接。</p>
<p>
<strong>1.简单的订阅分类目录的方法</strong></p>
<p>
首先,你必须要先打开一个分类目录。如果站点开启了固定链接,你看到的分类目录链接可能会是这种形式的:</p>
<p>
http://localhost/category/markup/</p>
<p>
这时候,我们只需要在后面的链接中加入 feed ,之后得到的就是订阅的地址,例如:</p>
<p>
http://localhost/category/markup/feed/</p>
<p>
如果站点没有开启,而是使用了默认的,你可能会看到类似下面这种链接:</p>
<p>
http://localhost/?cat=54</p>
<p>
如果获取它的订阅地址,就需要加上参数 feed 变成:</p>
<p>
http://localhost/?feed=rss2&amp;cat=54</p>
<p>
于是,就有了一种实现方法,获取分类目录链接,然后进行修改再显示出来。当然,这种方法比较麻烦,而且官方有相关的函数。</p>
<p>
<strong>2.为站点分类目录增加订阅功能</strong></p>
<p>
主要的思路是这样的:首先获取站点的分类目录资源,然后使用函数得到分类目录的订阅地址,然后输出或者进行其他操作。</p>
<p>
这里主要用到 get_category 和 get_category_feed_link 这两个函数。从名字就可以看出,get_category 函数是根据分类目录的 ID 等获取一个分类目录对象;get_category_feed_link 函数就是获取这个分类目录对象的订阅地址。</p>
<p>
具体操作如下:首先先找到主题目录下的 category.php 文件,当点击分类目录的时候,WordPress 会调用这个文件作为分类目录的模板。一般成熟的主题都会有这个文件,如果没有的话,就将 index.php 复制一遍然后改成 category.php 这个文件名。然后打开这个文件,在适当的位置添加下面这段代码:</p>
<blockquote>
<ol>
<li>
<span><span>&lt;?php </span></span>
</li>
<li>
<span><span>$category</span><span> = get_category( get_query_var(</span><span>'cat'</span><span>) ); </span></span>
</li>
<li>
<span><span>if</span><span> ( ! </span><span>empty</span><span>empty</span><span>( </span><span>$category</span><span> ) ) </span></span>
</li>
<li>
<span><span>echo</span><span> </span><span>'&lt;p&gt;&lt;a href="'</span><span> . get_category_feed_link( </span><span>$category</span><span>-&gt;cat_ID ) . </span><span>'" title="订阅当前分类" rel="nofollow"&gt;订阅&lt;/a&gt;&lt;/p&gt;'</span><span>; </span></span>
</li>
<li>
<span>?&gt; </span>
</li>
</ol>
</blockquote>
<p>
刷新之后,在对应位置会出现一个名为“订阅”的超链接,链接指向的就是当前分类目录的订阅地址。这段代码使用的是 get_query_var('cat') 这段代码获取的当前访问的分类目录,所以必须放在 category.php 文件中。</p>
<p>
当然还可以使用其他的函数获取 category 的资源,来得到对应的订阅链接,或者使用 link 标签添加到文档的头部,方便浏览器、阅读器获取订阅地址等等。</p>
頁: [1]
查看完整版本: WordPress站点实现分类目录订阅功能实例