wordpress随机文章/随机推荐的实现思路与用法
wordpress随机文章/随机推荐的实现思路与用法
发布时间:2016-12-23 来源:查字典编辑
摘要:wordpress实现随机文章ralix曾发布过关于wordpress随机文章的相关插件的点评文章(“wordpress插件之随...

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跳转的方法,大家也可以借鉴借鉴。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新WordPress学习
热门WordPress学习
CMS教程子分类