• <strike id="q60me"></strike><ul id="q60me"></ul>
    <ul id="q60me"></ul>
  • <fieldset id="q60me"><input id="q60me"></input></fieldset>

    代碼實(shí)現(xiàn)WordPress上一篇和下一篇以及相關(guān)文章功能

    站長經(jīng)驗(yàn) 尹華峰 瀏覽 評論來源:www.www-2900555.com

      最近博主在弄WordPress網(wǎng)站,也體驗(yàn)了很多不同的WordPress主題,其中不乏一些優(yōu)秀主題,如博主以前介紹的知更鳥主題,確實(shí)是一個(gè)非常優(yōu)秀的CMS主題,各個(gè)方面的SEO細(xì)節(jié)做得很完善,也因此造成了它在互聯(lián)網(wǎng)過于泛濫,帶來審美疲勞。

      以前博主搭建WordPress就是覺得網(wǎng)站越酷炫越好,現(xiàn)在博主越來越喜歡簡潔而功能強(qiáng)大的主題,為此也特意購買了一些比較欣賞的主題來體驗(yàn)一番。但是,有些主題實(shí)在是過于簡潔,很多實(shí)用的功能也被刪除掉了,如有些主題文章頁沒有“上一篇和下一篇”,沒有相關(guān)文章版塊等。在我看來,這些是絕對不能省掉的,除了不利于搜索引擎優(yōu)化,也同樣不利于讀者瀏覽體驗(yàn)。當(dāng)然這些小功能可以通過各種插件來實(shí)現(xiàn),但是我試了不少的插件感覺不盡人意,為此博主尋找了一些方法通過代碼來完成這個(gè)小功能。

      實(shí)現(xiàn)WordPress上一篇和下一篇代碼方法

      在你的模板文件夾下找到single.php文件,編輯文章頁模板文件,在文章內(nèi)容下方可插入以下代碼:

    1. <div class="nearbypost">    
    2. <div class="alignleft"><?php previous_post_link('« « %link'); ?></div>    
    3. <div class="alignright"><?php next_post_link('%link  » » '); ?></div>    
    4. </div> 

      當(dāng)然也可以對樣式進(jìn)行布局,比如可以修改CSS樣式如下:

    1. .alignleft {  
    2.  float:left;  
    3.  text-align:left;  
    4.  margin-right:10px;  
    5. }  
    6. .alignright {  
    7.  float:rightright;  
    8.  text-align:rightright;  
    9.  margin-left:10px;  
    10. }  

      實(shí)現(xiàn)WordPress相關(guān)文章的三種方法

      同理,找到文章頁模板文件,在需要展示相關(guān)文章列表的地方添加如下代碼。

      方法一、標(biāo)簽相關(guān)

    1. <ul id="tags_related">
    2. <?php
    3. global $post;
    4. $post_tags = wp_get_post_tags($post->ID);
    5. if ($post_tags) {
    6.   foreach ($post_tags as $tag) {
    7.     // 獲取標(biāo)簽列表
    8.     $tag_list[] .= $tag->term_id;
    9.   }
    10.   // 隨機(jī)獲取標(biāo)簽列表中的一個(gè)標(biāo)簽
    11.   $post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];
    12.   // 該方法使用 query_posts() 函數(shù)來調(diào)用相關(guān)文章,以下是參數(shù)列表
    13.   $args = array(
    14.         'tag__in' => array($post_tag),
    15.         'category__not_in' => array(NULL),  // 不包括的分類ID
    16.         'post__not_in' => array($post->ID),
    17.         'showposts' => 6,                           // 顯示相關(guān)文章數(shù)量
    18.         'caller_get_posts' => 1
    19.     );
    20.   query_posts($args);
    21.   if (have_posts()) {
    22.     while (have_posts()) {
    23.       the_post(); update_post_caches($posts); ?>
    24.     <li>* <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    25. <?php
    26.     }
    27.   }
    28.   else {
    29.     echo '<li>* 暫無相關(guān)文章</li>';
    30.   }
    31.   wp_reset_query();
    32. }
    33. else {
    34.   echo '<li>* 暫無相關(guān)文章</li>';
    35. }
    36. ?>
    37. </ul>

      PS:"不包括的分類ID" 指的是相關(guān)文章不顯示該分類下的文章,可自定義將NULL改成文章分類的ID即可,多個(gè)ID就用半角逗號隔開,滿足站長的多樣化需求。因?yàn)檫@里限制只顯示6篇相關(guān)文章,所以不管給 query_posts() 的參數(shù) tag__in 賦多少個(gè)值,都是只顯示一個(gè)標(biāo)簽下的6 篇文章,除非第一個(gè)標(biāo)簽有1篇,第二個(gè)標(biāo)簽有2篇,第三個(gè)有3篇...若當(dāng)前文章有多個(gè)標(biāo)簽對應(yīng),那么采取的做法是隨機(jī)獲取一個(gè)標(biāo)簽的id,賦值給 tag__in 這個(gè)參數(shù),獲取該標(biāo)簽下的6篇文章。

      方法二、分類相關(guān)

    1. <ul id="cat_related">
    2. <?php
    3. global $post;
    4. $cats = wp_get_post_categories($post->ID);
    5. if ($cats) {
    6.     $args = array(
    7.           'category__in' => array$cats[0] ),
    8.           'post__not_in' => array$post->ID ),
    9.           'showposts' => 6,
    10.           'caller_get_posts' => 1
    11.       );
    12.   query_posts($args);
    13.   if (have_posts()) {
    14.     while (have_posts()) {
    15.       the_post(); update_post_caches($posts); ?>
    16.   <li>* <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    17. <?php
    18.     }
    19.   }
    20.   else {
    21.     echo '<li>* 暫無相關(guān)文章</li>';
    22.   }
    23.   wp_reset_query();
    24. }
    25. else {
    26.   echo '<li>* 暫無相關(guān)文章</li>';
    27. }
    28. ?>
    29. </ul>

      此方法則是通過獲取該文章的分類id,然后獲取該分類下的6篇文章,來達(dá)到獲取相關(guān)文章的目的。

      方法三、作者相關(guān)

    1. <ul id="author_related">
    2. <?php
    3.   global $post;
    4.   $post_author = get_the_author_meta( 'user_login' );
    5.   $args = array(
    6.         'author_name' => $post_author,
    7.         'post__not_in' => array($post->ID),
    8.         'showposts' => 6,               // 顯示相關(guān)文章數(shù)量
    9.         'orderby' => date,          // 按時(shí)間排序
    10.         'caller_get_posts' => 1
    11.     );
    12.   query_posts($args);
    13.   if (have_posts()) {
    14.     while (have_posts()) {
    15.       the_post(); update_post_caches($posts); ?>
    16.   <li>* <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    17. <?php
    18.     }
    19.   }
    20.   else {
    21.     echo '<li>* 暫無相關(guān)文章</li>';
    22.   }
    23.   wp_reset_query();
    24. ?>
    25. </ul>

      此方法是獲取該文章作者的其他文章來充當(dāng)相關(guān)文章,比較適合一些多個(gè)站長運(yùn)營的網(wǎng)站。

      結(jié)語:博主之所以堅(jiān)持給網(wǎng)站添加上一篇和下一篇以及相關(guān)文章,是因?yàn)椴┲魇亲鯯EO的,站在搜索引擎的角度來說,上一篇和下一篇以及相關(guān)文章的鏈接不僅可以增加搜索引擎蜘蛛抓取,而且也有利于網(wǎng)頁權(quán)重值傳遞。站在用戶的角度,相關(guān)的文章就好比是推薦,以及相關(guān)信息的進(jìn)一步獲取,對讀者也是非常有利的。另外博主要補(bǔ)充的就是,關(guān)于相關(guān)文章實(shí)現(xiàn)方法,博主是建議選擇第一種,標(biāo)簽往往更貼近主題。

      国产成人综合久久精品亚洲| 国产精品国产三级国产AV麻豆 | 国产三级国产精品国产普男人| 无码人妻精品一区二区三区蜜桃| 亚洲精品99久久久久中文字幕 | 九九热这里只有在线精品视| 亚洲精品中文字幕无码蜜桃| 精品久久久久久无码人妻中文字幕| 国产日韩精品无码区免费专区国产| 国产成人无码精品久久久性色| 国产精品久久久久毛片真精品| 99re视频精品全部免费| 2019天堂精品视频在线观看| 日韩欧美群交P内射捆绑| 亚洲综合一区二区精品久久| 精品亚洲综合在线第一区| 精品亚洲一区二区三区在线观看| 国产精品免费综合一区视频| 亚洲国产成人精品青青草原| 国产美女精品视频| 国产日韩在线观看视频网站| 人妻互换精品一区二区| 久久精品aⅴ无码中文字字幕| 日韩精品视频免费网址| 国产午夜精品1区2区3福利| 日韩国产成人资源精品视频 | 亚洲精品视频在线播放| 狼色精品人妻在线视频| 国产精品自在线拍国产电影 | 精品国产亚洲一区二区在线观看 | 99视频精品全部在线| 久久国产精品一国产精品| 亚洲国产精品嫩草影院在线观看| 亚洲av日韩综合一区二区三区| 国产伦精品一区二区三区在线观看| 热久久精品免费视频| 日韩精品人妻系列无码av东京| 精品国产一区二区三区免费看| 最新69堂国产成人精品视频| 久久99国内精品自在现线| 中文字幕精品亚洲无线码一区 |