1. 程式人生 > >讓wordpress首頁和分類列表頁只顯示文章標題列表

讓wordpress首頁和分類列表頁只顯示文章標題列表

http://up2u.72pines.com/2009/07/rangwordpressshouyehefenleiliebiaoyezhixianshiwenzhangbiaotiliebiao/

Posted at 七月 7th, 2009 by up2u

雖然很多可以自動顯示摘要的外掛,但都不是很智慧。而預設的wordpress摘要方式,其實還是一種半自動半手工的活。首先需要在部落格後臺選項(options)–輸出(reading)設定裡,把輸出方式設為摘要而不是全文;其次還需要你在編輯發表每一篇日誌時,游標停留在擷取處,然後點選編輯器上一個叫做”split post with more tag” 的按鈕(快捷方式是Alt+t )。並且,讓人不爽的是,讀者在前臺點選 more來閱讀更多時,卻發現更多(read more)連結是一些莫名其妙的字尾,而不是固定靜態連結網址。

如何讓首頁和分類列表頁只顯示文章標題列表呢?參考網上一些資料,終於找到了解決辦法。
一 在後臺主題管理的index.php檔案中找到顯示全文的函式: <?php the_content(); ?>

二 這個程式碼所屬div層作用是顯示該文摘或文章全文。比如曲豆的該層程式碼是:
<div class=”entry”>
<?php the_content(’Read the rest of this entry ?’); ?>
</div>

將它們替換為:
<div class=”entry”>
<?php the_excerpt(); ?>
<br>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”進入<?php the_title();?>”>閱讀”<?php the_title(); ?>”全文</a>
</div>

或替換為:
<div class=”entry”>
<?php if(is_category() || is_archive() || is_home() ) {
the_excerpt();
} else {
the_content(’Read the rest of this entry ?’);
} ?>
<div class=”details”><div class=”inside”>
<?php comments_popup_link(’No Comments’,’1 Comment’,’% Comments’); ?> so far | <a href=”<?php
the_permalink() ?>”>閱讀全文?</a></div></div>
</div>

三 以上方法顯示wordpress摘要,其中的<?php the_excerpt(); ?>顯示摘要函式。你在編輯發表文章時仍然需要點選編輯器上那個”split post with more tag”按鈕(快捷方式是Alt+t )。

那麼如何讓wordpress分類列表頁只顯示文章的標題列表?其實很簡單:直接把這個層裡程式碼都刪掉,只留下:
<div class=”entry”>
</div>

============================================

讓wordpress文章列表頁面只顯示文章標題

用WordPress快一年了吧,記得剛開始的時候google最先收錄了我。後來百度過了不知道多久也最終收留了俺。對於這些搜尋引擎的亂七八糟的事就不提這麼多了。

最近一段時間,google可以說是收錄部落格越來越少了,而且site命令排在前邊的都是些tag頁面還有按時間索引的文章列表頁面。以前都沒在意的,現在才意識到原來是因為這些文章列表頁面都是全文輸出而其權重又高於文章頁面,使得很多的文章頁面因為內頁跟列表頁內容重複而被搜尋捨棄了。更令人鬱悶的是這使得網站對通過搜尋引擎進了的訪問者很不友好。因為很可能某個頁面根本就沒有訪問者要看的,只不過是恰巧列表頁面包含訪問者搜尋的兩個或是多個關鍵詞。或者是訪問者要看的文章在列表頁的下邊,而訪問者首先看到的是上邊的不相關的文章,這使得網站對訪問者非常不友好,更是跟seo背道而馳的(其實我沒做seo,竟然扯到seo上來了)。

搜尋引擎不給解決這樣的事咱自己解決。解決的辦法我認為最好的就是讓文章列表頁面(包括tag頁、分類目錄頁、按時間索引的頁面等)只顯示文章摘要或者是文章標題。直接nofollow掉這些頁面當然也行,但貌似大家應該都不想這樣吧?呵呵。

要使得文章列表頁面只顯示文章標題只需要修改文章索引模板 (archive.php)就OK了。找到文章中的

<div class=”entry”>

然後把其跟離他最近的一個</div>之間的所有內容統統刪除掉就OK了。當然不同的主題有不同的特點,大家自己看著改吧。我不是專業的php程式設計師,弄這個也很糾結啊……

不知修改了這些之後google會不會多收錄俺幾個頁面,起碼讓瀏覽者能通過搜尋引擎搜到它們真正想要看的文章吧。