会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 站长学院 > 建站经验 > 巧用WordPress随机重定向功能

巧用WordPress随机重定向功能

时间:2012-06-18 19:39:29   作者:   来源:   点击:

今天在wiki百科上查找资料的时候,看到wiki上有一个随机文章的功能很有意思,特总结一下此类随机文章在wordpress中的实现体例。

通过随机重定向功能,给读者提供一个机缘,以随机体例跳转到任意的文章。真正的实现体例很简单。所需要做的是仅仅成立一个超链接,命名为"随机文章",点击时将重定向随机文章。

为了实现在WordPress随机重定向,可以有以下三个步调便可:

· 一个页面来措置重定向

· 查询从数据库中挑选后

· 通过一个链接将用户重定向到随机文章

当然,你可使用一个插件。如果你不需要其他功能的话,其实不推荐此种体例。

1、使用get_posts()函数实现重定向

成立一个page-random.php模板页面,page-random.php中不包含头部区域,侧边栏和页脚模板加载,因为page-random.php将不会为用户产生任何可见的输出,它只会跳转(即重定向)到我们设定的随机选择的文章。实现过程为:从数据库中随机选择一篇文章,使用一个 foreach 循环来措置输出,将用户重定向到随机文章。

// page-random.php源代码

//随机重定向页面模板

// 为get_posts()设置参数

$args = array(

'numberposts' => 1,

'orderby' =>'rand'

);

//从数据库中随机选择一篇文章

$my_random_post = get_posts( $args );

//通过foreach循环来措置数据库请求

foreach( $my_random_post as $post) {

// 将用户重定向到随机文章

wp_redirect( get_permalink( $post->ID ));

exit;

}

现在我们需要做的是去WordPress的办理部分,以page-random.php为模板成立一个新的以random命名的空白页的,并发布。然后,比如当您拜候.***/random/的,你会被自动重定向到一个随机的文章。先你便可以成立一个近似wiki百科一样的"随机文章"超链接了,点击改超链接就会将读者带到一个你设定的随机文章了。

2、使用wp-query()实现重定向

// page-random.php源代码(通过WP_Query实现)

//随机重定向页面模板

// 为WP_Query()设置参数

$args = array(

'posts_per_page' => 1,

'orderby' =>'rand'

);

//从数据库中随机选择一篇文章

$my_random_post = new WP_Query ($args );

// 通过WP_Query措置数据库请求

while( $my_random_post->have_posts()) {

$my_random_post->the_post ();

// 将用户重定向到随机文章

wp_redirect( get_permalink());

exit;

}

使用WP_Query的最年夜的益处是,它比比get_posts()函数拥有更多的参数,当你成立特定查询的时候,可以提供更年夜的矫捷性。

下面举几个实例:

我们可让WordPress的重定向到某个分类下的文章,比如我们重定向到萝卜居家园网下面的"html模板"这个分类下面的任意文章:

// 为WP_Query()设置参数

$args = array(

'category_name' => 'htmlmuban', //记住,使用分种别号。

'posts_per_page' => 1,

'orderby' => 'rand'

);

//从数据库中随机选择一篇文章

$my_random_post = new WP_Query( $args );

//通过WP_Query措置数据库请求

while( $my_random_post->have_posts()) {

$my_random_post->the_post ();

//将用户重定向到随机文章

wp_redirect( get_permalink());

exit;

}

如果我们要排除"html模板"这个分类,重定向到其余的所有分类下面的任意文章咧?怎么实现:

//为WP_Query()设置参数

$args = array(

'category__not_in' => array(1), // 这里是要排除的分类id,比如html模板这个分类的id为1,在这里我们排除他

'posts_per_page' => 1,

'orderby' =>'rand'

);

//从数据库中随机选择一篇文章

$my_random_post = new WP_Query( $args );

//通过WP_Query措置数据库请求

while( $my_random_post->have_posts()) {

$my_random_post->the_post ();

//将用户重定向到随机文章

wp_redirect (get_permalink() );

exit;

}

从这些例子中,你可以看到,没有复杂的,也没有什么太先进,我们可以用短短的几行代码实现WordPress随机重定向到任意文章的功能。你也可以通过上面的体例扩大出更多的用途来。嘿嘿,今天就说到这吧,本文由萝卜居家园网.luoboju 原创发布,转载请注明,谢谢。

分享到:

网友评论

热门建站经验