真正的ajax实现方法如下。
把下面的代码放到functions.php
中
<code>
wp_enqueue_script( 'base', true);
wp_localize_script('base', 'Bigfa', array(
"ajaxurl" => admin_url('admin-ajax.php')
));
add_action( 'wp_ajax_random_post', 'bigfa_random_post' );
add_action( 'wp_ajax_nopriv_random_post', 'bigfa_random_post' );
function bigfa_random_post() {
$posts = get_posts('post_type=post&orderby=rand&numberposts=1');
foreach($posts as $post) {
$link = get_permalink($post);
}
echo $link;
exit;
}</code>
wp_enqueue_script( 'base', true);
wp_localize_script('base', 'Bigfa', array(
"ajaxurl" => admin_url('admin-ajax.php')
));
add_action( 'wp_ajax_random_post', 'bigfa_random_post' );
add_action( 'wp_ajax_nopriv_random_post', 'bigfa_random_post' );
function bigfa_random_post() {
$posts = get_posts('post_type=post&orderby=rand&numberposts=1');
foreach($posts as $post) {
$link = get_permalink($post);
}
echo $link;
exit;
}</code>
JS代码,需要1.7以上版本的JQ库
<code>
jQuery('.random_post').on('click', function(e) {
e.preventDefault();
jQuery.post(Bigfa.ajaxurl, {
action : 'random_post',
}, function(data) {
window.location.href = data;
});
});</code>
jQuery('.random_post').on('click', function(e) {
e.preventDefault();
jQuery.post(Bigfa.ajaxurl, {
action : 'random_post',
}, function(data) {
window.location.href = data;
});
});</code>
在你想使用的地方放上按钮,我是直接仍在了footer.php中
<code>
<?php if(
!wp_is_mobile()//这个是判断是非移动设备
) echo '<a class="random_post" href="javascript:void(0)"> </a>';?></code>
<?php if(
!wp_is_mobile()//这个是判断是非移动设备
) echo '<a class="random_post" href="javascript:void(0)"> </a>';?></code>
文章转自:大发的博客 http://fatesinger.com/random-post-botton.html