【问题标题】:posts as children of wp_list_pages item作为 wp_list_pages 项的子项发布
【发布时间】:2012-10-23 08:18:09
【问题描述】:

我有一个看起来像这样的垂直菜单

HOME
NEWS
ANOTHER PAGE
- SUB PAGE
- SUB PAGE

它是通过 wp_list_pages 检索的。 NEWS 在 WP 后端设置为我的帖子页面。

我想要实现的是让 3 个最新帖子的标题显示为 NEWS 的子菜单,如下所示:

HOME
NEWS
- POST 3
- POST 2
- POST 1
ANOTHER PAGE
- SUB PAGE
- SUB PAGE

是否有某种 add_filter/function 甚至插件来实现这一点?

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    问题看起来好像您正在尝试将页面对象用作相应帖子的一种“外壳”。这可能是 Wordpress 开发人员在开发自己的主题或使用现有代码时会发现的第一个陷阱。

    简而言之,如果您还尝试列出帖子对象,则不应使用 wp_list_pages。它变得一团糟,而且您实际上是在绕过 Wordpress 提供的现有方法来完全满足您的需求。

    您要做的是查看内置的Navigation Menus 以构建更灵活的菜单。如果您使用的是下载的主题,那么几乎可以肯定它会受到支持。否则,您需要查看 Registering a Navigation Menu 以使您的主题“支持菜单”。

    这将使您能够构建一个灵活的菜单,该菜单不仅支持页面,还支持直观 UI 中的类别和单个帖子。我建议完全删除名为“新闻”的页面对象,而是将新闻类别按您喜欢的顺序放在所有页面对象旁边的菜单中。

    至于将导航菜单中最近的三个帖子作为子菜单查询,纯代码会稍微复杂一些。

    我的建议是先研究这个选项。构建一个工作的——尽管是静态的——原型来感受菜单界面。如果您正在编写自己的主题,请将 wp_list_pages 调用完全替换为 wp_nav_menu

    一旦你得到这个工作,打开一个新问题,看看如何编写你自己的Nav Menu Walker 以使所有内容完全按照你想要的方式显示。

    通过采用这种方法,您将确保您的主题始终按照您想要的方式自动运行,而不必经常进行修补。

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2017-10-20
      • 2019-06-28
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2013-12-03
      • 1970-01-01
      相关资源
      最近更新 更多