将2个自定义帖子类型与以特定模式输出的帖子混合在一起

时间:2020-03-25 作者:turpachull

我正试图用两种不同的CPT、视频和广告构建这样的结构(见最优秀的图表)。

我想在同一个wp查询中混合这两种帖子类型,以便以特定模式输出:3个视频、一个广告、3个视频、一个广告——最多16篇帖子。我不知道这是否有可能,或者需要某种魔法才能奏效。

我必须考虑,在移动视图中,将有一列帖子,并且必须重复相同的模式,即3个视频,然后是一个广告,重复。因此,在2列布局中使用两个WP查询,左侧显示视频(每行3个),右侧显示广告(每行显示一个广告),最终将显示一组视频(首先是左列),然后是一组广告(即右列)。不是最优的。他们一定是混在一起的。

enter image description here值得一提的是,我使用JetEngine列表网格来显示这些帖子,它有非常全面的WP查询设置。我还没有找到指定WP查询对象的方法。在任何情况下,我很高兴知道这是否可以用WP Query实现,它是否可以用JetEngine实现。

1 个回复
SO网友:BenB

由于jet engine在Elementor上工作,因此可以添加自定义查询过滤器

这听起来可能有点复杂,但它可以适用于您的情况。

在save post上添加一个钩子,该钩子将按您想要的顺序创建一系列文章和广告。将post ID存储在瞬态中。

在Elementor查询过滤器中,从瞬态中获取帖子id,并将查询参数保留为post__in 使用瞬态的post ID。

在jet engine小部件中,设置过滤器ID,您将获得您设置的帖子原因瞬态优于过滤器内部的查询,当您在查询内部设置查询时,它将避免获取错误最大深度的循环。而且速度会更快。

Elementor自定义查询筛选器

https://developers.elementor.com/custom-query-filter/

保存立柱挂钩

https://developer.wordpress.org/reference/hooks/save_post_post-post_type/

瞬态

https://developer.wordpress.org/apis/handbook/transients/

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post