You are here:  Home » PHP » 如何在WordPress中显示相关页面

最近,我们的一位用户问我们是否有办法在WordPress显示相关页面而不是帖子。之前,我们向您展示了如何在有或没有插件的情况下在WordPress中显示相关帖子。在本文中,我们将向您展示如何在WordPress中显示相关页面。

使用插件在WordPress中显示相关页面

在WordPress中显示相关页面的更简单方法是使用插件。

您需要做的第一件事是安装并激活Yet Another Related Posts Plugin(YARPP)插件。激活后,您需要转到设置»YARPP 来配置插件。

Configue YARPP to only show related pages

在插件的设置页面上,向下滚动到您的网站’部分的‘显示选项。在自动显示选项下,您需要选中“页面”并取消选中帖子和媒体。这就是全部,您现在可以保存设置,YARPP将开始在WordPress网站上的页面内容下方显示相关页面。

请注意,由于数据库使用量很大,YARPP和其他一些WordPress插件被一些托管的WordPress托管服务提供商阻止。您可能面临的另一个问题是,如果您的MySQL存储引擎设置为InnoDB,YARPP无法在数据库中搜索文本。

在没有插件的WordPress中显示相关页面

在我们向您展示如何在不使用插件的情况下显示相关页面之前,我们希望您看一下我们关于帖子和帖子之间差异的文章。WordPress中的页面。

显示相关帖子的最有效方式是查找标签或类别。但由于WordPress页面没有标签或类别,我们首先需要为WordPress页面启用类别和标签。要做到这一点,您需要做的就是安装并激活,Post Tags和Pages for Pages插件。

该插件开箱即用,因此您无需配置设置。激活后,它只会为您的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 "<div id="relatedpages"><h3>Related Pages</h3><ul>";
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail("thumb"); ?></a></div>
<div class="relatedcontent">
<h3><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_time("M j, Y") ?>
</div>
</li>
<? }
echo "</ul></div>";
} else { 
echo "No Related Pages Found:";
}
}
$post = $orig_post;
wp_reset_query(); 
}

此代码查找与页面关联的标记,然后运行数据库查询以获取具有相似标记的页面。要显示页面列表,您需要编辑页面模板。最常见的是 page.php content-page.php 文件。只需在要显示相关页面的位置添加此行代码即可。

<?php wpb_related_pages(); ?> 

这将在任何WordPress页面显示相关页面。一开始它看起来不太漂亮,所以你需要添加一些CSS并设置它以匹配你的主题。

注意:functions.php中的代码与插件的处理方式相同。

我们希望本文能帮助您在WordPress中显示相关页面。与往常一样,请随时在下面的评论中向我们提问。不要忘记在Twitter上关注我们或加入Google+上的讨论。

评论被关闭。