网站制作的部分,中国企业500强排名名单,郑州网约车租赁公司,网站开发接活首先 WordPress 本身并没有相关文章的推荐功能#xff0c;网站之所以需要这样的功能出于两个原因#xff0c;一方面是推荐相关的内容越优质#xff0c;访客的留存和继续阅读将会增强#xff0c;同样从优化角度来说会更加有利于搜索引擎抓取时对页面质量的提升#xff0c;毕…首先 WordPress 本身并没有相关文章的推荐功能网站之所以需要这样的功能出于两个原因一方面是推荐相关的内容越优质访客的留存和继续阅读将会增强同样从优化角度来说会更加有利于搜索引擎抓取时对页面质量的提升毕竟一个页面的内容推荐内容越相关说明这个页面的质量就越高。
?phpglobal $post;
$pid $post-ID;//当前文章的 ID
$tags [];
$limit 6;//自定义数量
$post_tags get_the_terms($pid,post_tag);
if ( !empty($post_tags) !is_wp_error($post_tags) ) {$tags wp_list_pluck($post_tags, term_id);
}
$related_args [ignore_sticky_posts 1,post_type post,posts_per_page $limit,post_status publish,post__not_in [$pid],tag__in $tags,cat 2, //获取指定分类下的可以不加或者不加。
];
$relateds new WP_Query($related_args);
$post_count $relateds-post_count;
$output ul;
if($relateds-have_posts()){while($relateds-have_posts()){$relateds-the_post();$output . lia href.get_permalink()..get_the_title()./a/li;}if($post_count$limit){//数量还不够wp_reset_postdata();$limit $limit - $post_count;//还差几条数据$pids wp_list_pluck($relateds-posts,ID);//获取已有文章 ID$pids array_merge([$pid],$pids);//合并文章 ID$catids wp_list_pluck(get_the_category($pid),term_id);//分类 ID$related_args [ignore_sticky_posts 1,post_type post,posts_per_page $limit,post_status publish,post__not_in $pids,category__in $catids,];$relateds new WP_Query($related_args);$post_count $relateds-post_count;if($relateds-have_posts()){while($relateds-have_posts()){$relateds-the_post();$output . lia href.get_permalink()..get_the_title()./a/li;}}}//数量还不够if($post_count$limit){//还不够wp_reset_postdata();$limit $limit - $post_count;//还差数据$pids array_merge($pids,wp_list_pluck($relateds-posts,ID));//合并文章 ID$related_args [ignore_sticky_posts 1,post_type post,posts_per_page $limit,post_status publish,post__not_in $pids,];$relateds new WP_Query($related_args);if($relateds-have_posts()){while($relateds-have_posts()){$relateds-the_post();$output . lia href.get_permalink()..get_the_title()./a/li;}}}//还不够
}
wp_reset_postdata();
$output . /ul;
echo $output;?代码看上去很长但是大家可以简单的看看其实还是很简单的首先是根据当前文章 ID 获取当前文章设置的标签根据标签来获取相同标签的文章并且排除当前文章如果文章数量不够就继续或许当前文章分类下面的文章并且排除当前文章和前面已经获取到的文章如果还不够我们需要的数量就整站获取其他文章补够数量。