• 售前

  • 售后

热门帖子
入门百科

wordpress随机文章/随机保举的实现思路与用法

[复制链接]
123456825 显示全部楼层 发表于 2021-8-15 20:07:30 |阅读模式 打印 上一主题 下一主题
wordpress实现随机文章
ralix曾发布过关于wordpress随机文章的相关插件的点评文章(“wordpress插件之随机文章类插件点评”),百度一下也能搜出许多其他纯代码的方式,大抵代码如下:

复制代码代码如下:
<?php
$query = array(
'post_type' => 'post',
'orderby' => 'rand'
);
$posts = new WP_Query( $query );
if ( $posts->have_posts() ) {
while( $posts->have_posts() ) :
$posts->the_post();
the_content();
endwhile;
}
wp_reset_query();
?>

转头来看看这一段代码,其实很简朴,在明白了的条件下,提出必要实现“随机推荐”,该怎么实现呢?

wordpress实现随机推荐
在帮一个朋友修改主题的时间,他要求在侧边栏加上一个随机推荐的功能,为了淘汰工作量,将置顶文章默认为值得推荐的文章(大概有其他轻便的方法),实现代码如下:

复制代码代码如下:
<?php
//获取置顶文章的ID串
$rand_id = get_option( 'sticky_posts' );
$query = array(
'post__in' => $rand_id,
'post_type' => 'post',
'orderyby' => 'rand',
'numberposts' => 2
);
$posts = new WP_Query( $query );
if ( $posts->have_posts() ) {
while( $posts->have_posts() ) :
$posts->the_post();
the_content();
endwhile;
}
wp_reset_query();
?>

至于添加到widgets这里就不详说了。

进阶应用:任意看看的功能实现
现在来看看“任意看看”是怎么实现的?各人不防到我的博客(jokerliang.com)看看导航栏“任意看看”的效果。
然后在当前皮肤下的functions.php里添加如下代码:

复制代码代码如下:
<?php
add_action('init','random_add_rewrite');
add_action('template_redirect','random_template');
function random_add_rewrite() {
global $wp;
$wp->add_query_var('random');
add_rewrite_rule('random/?$', 'index.php?random=1', 'top');
}
function random_template() {
if (get_query_var('random') == 1) {
$posts = get_posts('post_type=post&orderby=rand&numberposts=1');
foreach($posts as $post) {
$random_link = get_permalink($post);
}
wp_redirect($random_link,307); //307暂时跳转
exit;
}
}
?>

至此,效果已经实现(注:貌似3.3以前的老版本,必要进固定链接,执行一下“生存更改”才有效果)!固然网上也有通过新建页面,然后用javascript跳转的方法,各人也可以借鉴借鉴。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作