php - wp查询中的wp查询
问题描述
我做了两个 wp 查询循环一个是在循环内出了点问题我无法弄清楚这里是与主查询 cpt 相关的图像 cpt 的内部 wp 查询的代码。
$maincontest = new WP_Query(array(
'posts_per_page' => 3,
'post_type' => 'contest',
'post_status' => 'any'
));
while($maincontest->have_posts()){
$maincontest->the_post(); ?>
<div class = "listloopmain">
<a href="<?php the_permalink(); ?>">
<div class = "listcontestitem">
<div class = "listimage">
<?php
$toplogo = new WP_Query(array(
'posts_per_page' => 1,
'post_type' => 'logo',
'orderby' => 'rand'
));
while($toplogo->have_posts()){
$toplogo->the_post();
$image = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<div class ="listim">
<img src="<?php echo $image ?>"/>
</div>
<?php }
wp_reset_postdata();
?>
</div>
<div class = "title_des">
<div class = "listtitle">
<h4>
<?php the_title(); ?>
</h4>
</div>
<div class = "listdescription">
<?php echo wp_trim_words(get_the_content(), 20); ?>
</div>
</div>
<div class = "listcontestprice">
$ <?php the_field('price'); ?>
</div>
<div class = "listtime">
5 Days
</div>
</div>
</a>
</div>
<?php } ?>
</div>
<div class ="my-pagination">
<?php
echo paginate_links(array(
'prev_text' => __( '<' ),
'next_text' => __( '>' )
));
wp_reset_postdata();
?>
问题是主查询永久链接是正确的,但每个循环的内容是相同的。图像查询工作正常。有人可以帮忙吗?
提前致谢
解决方案
嗨,我得到了解决方案,只需要主要的自定义查询来显示私人帖子。通过过滤 pre_get_posts 和 set 方法来实现。谢谢大家
function contest_adjust_query($query){
if (!is_admin() AND is_post_type_archive('contest') AND $query->is_main_query()) {
$query->set('post_status', 'private');
$query->set('post_status', array('publish', 'private'));
}
}
add_action('pre_get_posts', 'contest_adjust_query');
推荐阅读
- javascript - 道具数据如何操作
- c# - 在 prism 应用程序 (7.2) 中使用 Microsoft Dependency Injection 的 regionmanager 中没有区域
- angularjs - 如何在ui-grid angular JS中对gridMenu中的元素进行排序
- python - 按钮在 Python Tkinter 中无法正常工作
- django - 如何覆盖泛型类(DRF)中的删除方法
- android - 无法使用 android studio 在物理设备上测试应用程序
- javascript - Javascript:将变量从父函数传递给子函数
- consul - 客户端是否将来自领事注册表的查询存储在某个缓存中?
- node.js - 当用户连续执行多个graphql突变时防止竞争条件
- java - 我无法将 javafx 与 spring 集成