【问题标题】:Wordpress: Display 3 random posts from custom post type every 24hrsWordpress:每 24 小时显示 3 个来自自定义帖子类型的随机帖子
【发布时间】:2017-04-22 18:35:43
【问题描述】:

我已经看过很多关于如何做到这一点的文章,但在尝试使用瞬变实现这一目标数小时后,我似乎离梦想更近了!

基本上,我想使用 wordpress 瞬态获取 3 个随机帖子,并将它们显示在我主页上的“特色”模块中 24 小时。这 3 个帖子需要是本地和自定义帖子类型的混合。

我目前的代码是:

<div class="container">     
<div class="featured-wrapper">
<div class="section-title">featured</div>

<?php          
if ( ( $my_query = get_transient('my_query_cached') ) === false ) :
global $wp_query;
   $args = array_merge( $wp_query->query, array( 
   'post_type' => array('post', 'recipe'), 
   'posts_per_page' => 3, 
   'orderby' => 'rand'
   ) 
);
$my_query = new WP_Query($args);
set_transient('my_query_cached', $my_query, 24 * HOUR_IN_SECONDS);
endif;
?>

<?php if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

<div class="card-wrapper">
   <a href="<?php the_permalink(); ?>">
      <div class="card-img">
      <img src="<?php the_post_thumbnail(); ?>"/>
   </div>
   </a>
<div class="card-cut"></div>
<div class="card-content">
   <a href="category.html"><span class="card-category">treats</span></a>
   <h1><a href="recipe.html"><?php echo get_the_title(); ?></a></h1>
</div>
</div><!--END card wrapper 1-->
<?php endwhile; wp_reset_postdata(); wp_reset_query(); ?>
<?php else: ?>
<div>
<h1>Sorry...</h1>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
</div>
<?php endif; ?>   
</div><!-- END featured wrapper-->     

目前,此代码正在返回数据库中的所有帖子,因此我认为此部分的第一部分存在问题,但似乎无法解决。

非常感谢您提前提供的任何帮助。

更新

已修复。它上面的代码实际上很好,但值得记住的是,一旦页面运行一次,任何编辑都不会显示,因为已经设置了瞬态。值得将刷新率设置为 1 * MINUTE_IN_SECONDS 进行测试。

【问题讨论】:

    标签: wordpress transient


    【解决方案1】:

    我将您的代码粘贴到我的一个网站的 frontpage.php 中,它立即运行良好。将瞬态的到期时间更改为 5 或 10 秒以进行测试。

    【讨论】:

    • 感谢您试用。我刚刚尝试将其设置为 5 * MINUTE_IN_SECONDS) 并且文章没有更新,它们只是坚持相同的 3。
    • 已修复 - 谢谢!我在上面的评论中错误地设置了我的 tansient。我已经更新了原来的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 2016-07-21
    • 2015-11-18
    • 1970-01-01
    相关资源
    最近更新 更多