如何在WordPress中顯示相關頁面


最近,我們的一位用戶問我們是否可以顯示相關頁面而不是WordPress中的帖子。 之前,我們向您展示瞭如何在WordPress中顯示帶有或不帶有插件的相關文章。 在本文中,我們將向您展示如何在WordPress中顯示相關頁面。

使用插件在WordPress中顯示相關頁面

在WordPress中顯示相關頁面的更簡單方法是使用插件。

您需要做的第一件事是安裝並激活Yet Another Related Posts插件(YARPP)插件。 激活後,您需要轉到 設置»YARPP 配置插件。

配置YARPP以僅顯示相關頁面

在插件的設置頁面上,向下滾動到 “您網站的顯示選項” 部分。 下 自動顯示 選項,則需要選中“頁面”,並且不選中帖子和媒體。 就是這樣,您現在就可以保存設置,YARPP將開始在WordPress網站上頁面內容下方顯示相關頁面。

請注意,由於託管數據庫的大量使用,YARPP以及其他一些WordPress插件被某些託管的WordPress託管提供商阻止。 您可能面臨的另一個問題是,如果您的MySQL存儲引擎設置為InnoDB,則YARPP無法在數據庫中搜索文本。

在沒有插件的情況下顯示WordPress中的相關頁面

在向您展示如何在不使用插件的情況下顯示相關頁面之前,我們希望您看一下有關WordPress中的Posts和Pages之間的區別的文章。

顯示相關帖子的最有效方法是查找標籤或類別。 但是,由於WordPress頁面沒有標籤或類別,因此我們首先需要為WordPress頁面啟用類別和標籤。 為此,您需要做的就是安裝並激活“頁面標籤和類別”插件。

該插件可以直接使用,因此沒有可供您配置的設置。 激活後,它將僅為WordPress頁面啟用標籤和類別。

現在,您需要編輯一些您認為彼此相關的頁面並添加標籤。 例如,如果您有一個關於公司的頁面和另一個關於公司歷史的頁面,則可以將它們都標記為關於我們。

在將標籤添加到幾頁之後,接下來需要做的就是在主題的functions.php文件或特定於站點的插件中添加此代碼。

function wpb_related_pages() { 
$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag)
$tag_ids[] = $individual_tag->term_id;
$args=array(
'post_type' => 'page',
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5
);
$my_query = new WP_Query( $args );
if( $my_query->have_posts() ) {
echo '

Related Pages

    '; while( $my_query->have_posts() ) { $my_query->the_post(); ?>
  • " rel="bookmark" title="">

    " rel="bookmark" title="">

'; } else { echo "No Related Pages Found:"; } } $post = $orig_post; wp_reset_query(); }

此代碼查找與頁面關聯的標籤,然後運行數據庫查詢以獲取具有類似標籤的頁面。 要顯示頁面列表,您需要編輯頁面模板。 最常見的是 page.php 要么 content-page.php 文件。 只需在您希望相關頁面出現的地方添加這一行代碼即可。

 

這將在任何WordPress頁面上顯示相關頁面。 一開始它看起來不會很漂亮,因此您需要添加一些CSS並設置其樣式以匹配您的主題。

注意: functions.php中的代碼與插件相同。

我們希望本文能幫助您在WordPress中顯示相關頁面。 與往常一樣,請隨時在下面的評論中向我們提問。 別忘了 在推特上關注我們 或加入Google+上的討論。