Javascript 使用Ajax在Wordpress上加载更多随机帖子

Javascript 使用Ajax在Wordpress上加载更多随机帖子,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我在我的Wordpress博客边栏上随机发布了5篇文章 我想创建一个按钮,当它被点击时,ajax会在它下面随机加载5篇文章 问题是我不想多次收到相同的随机帖子。 我没有一个绝对的计划来做这件事,我也许可以保存帖子的id名称或类似的东西,但我想知道是否有更好的方法来做这件事 有人能帮我解决这个问题吗 这是我在侧边栏上的加载随机帖子,加载7个帖子: <?php global $post; $args = array( 'posts_per_page' => 7, 'ord

我在我的Wordpress博客边栏上随机发布了5篇文章

我想创建一个按钮,当它被点击时,ajax会在它下面随机加载5篇文章

问题是我不想多次收到相同的随机帖子。 我没有一个绝对的计划来做这件事,我也许可以保存帖子的id名称或类似的东西,但我想知道是否有更好的方法来做这件事

有人能帮我解决这个问题吗

这是我在侧边栏上的加载随机帖子,加载7个帖子:

<?php
    global $post;
    $args = array( 'posts_per_page' => 7, 'orderby' => 'rand', 'post_status' => 'publish', 'offset' => 1);
    $rand_posts = get_posts( $args );
    $count_rand=0;
    foreach( $rand_posts as $post ) : setup_postdata( $post ); ?>
        <li><h2 class="r-h2"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></h2><p><?php echo get_the_post_thumbnail($thumbnail->ID, 'medium'); //the_excerpt(); ?></a></p></li>
    <?php endforeach;
        wp_reset_postdata();


  • 您可以将为帖子返回的ID保存到WordPress瞬态系统(
    set_Transient()
    get_Transient()
    ,等等),以便跟踪访问者的文章结果。然后可以将这些参数传递回查询参数中

    $exclude = get_transient( '__my_unique_articles_retrieved' );
    
    $args = array(
        'posts_per_page' => 7,
        'orderby' => 'rand',
        'post_status' => 'publish',
        'offset' => 1,
        'exclude' => $exclude
    );
    
    在这里排除他们,你将确保你总是得到你的7个职位。如果达到某个计数,您还可以使用
    delete_transient()
    将其重置

    有关WordPress中瞬态的更多信息,请参见此处