【问题标题】:How to pass two sets of posts to wordpress template如何将两组帖子传递给wordpress模板
【发布时间】:2019-03-06 03:34:48
【问题描述】:

我们的网站目前具有允许我们选择时事通讯内容的功能,它会根据所选数据生成两个 RSS 提要 - 一个用于选择出现在时事通讯中的文章,另一个用于选择出现在时事通讯中的产品.然后,我们使用这两个 RSS 提要在我们的电子邮件服务提供商的工具中组装我们的时事通讯。

现在我们正在迁移到不提供此 RSS 功能的新电子邮件服务提供商,因此我们需要更改 wordpress 呈现它的方式,以便有一个模板将产品和文章数据组合成一种格式通讯。作为一个 wordpress 新手,我很难理解如何将两组帖子传递给模板进行渲染。

它目前与 RSS 提要一起使用的方式是,查询中有一个开关来拉取内容,以根据正在查看的提要是产品提要还是文章提要来更改查询。此查询通过“pre_get_posts”过滤器进行更改。

如果您对如何将这两组数据组合成一个模板有任何建议,请告诉我。感谢您的帮助。

【问题讨论】:

  • 我读到的大部分内容都表明,wordpress 中的每个页面模板都负责呈现一个列表。有没有一种方法可以实现获取帖子(文章)列表和产品帖子列表的目标,然后将它们组合到一个查询中,并以某种方式在数据中通过自定义属性指示给定帖子的类型为“文章”或“产品”,以便可以在模板中单独处理?欢迎任何想法!
  • 另一个想法是假设前 X 个帖子是“文章”,其余的是“产品”(这些都是帖子,只是应用到它们的分类不同)。这样,在模板中,我可以知道将第一个 X 显示为文章,并将其他 X 视为产品。我想我可以通过现有的“pre_get_posts”操作来做到这一点,对每种类型进行查询,从 pre_get_posts 返回一个查询 - 就像这样 $query->set( 'post__in', $assigned_ids ); - 我如何确保查询以与添加顺序相同的顺序返回它们?

标签: wordpress wordpress-theming


【解决方案1】:

除非有人有更好的解决方案,否则我认为我要解决的方法是修改我的“pre_get_posts”操作以执行两个查询 - 首先是文章,下一个是产品 - 然后使用 post__in 创建一个新查询和 orderby=>'post__in' 应该保留它们被添加到查询中的顺序。

这样,我就知道将前 X 个帖子视为文章,将其余帖子视为产品。

这篇文章有助于找到 orderby=>'post__in' 的解决方案:http://www.tamaraolsondesigns.com/tips-and-tricks/how/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2019-12-17
    相关资源
    最近更新 更多