不应该太棘手。首先:创建一个javascript文件并添加以下内容:
jQuery(document).ready(function($){
$(\'#refresh-links-id\').click(function(e){
e.preventDefault();
$.post(ajaxurl,{action:\'jpb_random_loop\'}, function(data){
$(\'#content-inner\').fadeOut(250).empty().append( data ).fadeIn(250);
});
});
});
将该文件保存在主题目录中的某个位置(也可以在子目录中)。要使其工作,刷新链接不应位于内部
ul#content-inner
. 不过,jQuery的post调用非常基本。
接下来,将此添加到主题functions.php
文件:
function jpb_template_redirect(){
if( <conditions under which this javascript should execute> ){
wp_enqueue_script( \'random-loop\', \'<url to the javascript file above>\', array( \'jquery\' ), \'1.0\' );
}
}
function jpb_random_loop_cb(){
query_posts(\'posts_per_page=20&orderby=rand\');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>">
<img src="<?php echo $my_image_url = get(\'thumbnail\'); ?>" alt="" />
<span class="title"><?php the_title(); ?></span>
<span class="feat"><?php $articletags = strip_tags(get_the_tag_list(\'\',\', \',\'\'));echo $articletags;?></span>
</a>
</li>
<?php endwhile; endif;
die();
}
add_action( \'template_redirect\', \'jpb_template_redirect\' );
add_action( \'wp_ajax_jpb_random_loop\', \'jpb_random_loop_cb\' );
add_action( \'wp_ajax_nopriv_jpb_random_loop\', \'jpb_random_loop_cb\' );
这将把一切联系在一起。只需确保
template_redirect
函数,以便javascript包含在正确的页面中。