该问题看起来好像您正在尝试将页面对象用作相应帖子的一种“外壳”。这可能是 Wordpress 开发人员在开发自己的主题或使用现有代码时会发现的第一个陷阱。
简而言之,如果您还尝试列出 Post 对象,则不应使用 wp_list_pages。它变得一团糟,而且您实际上是在规避 Wordpress 提供的现有方法来完全满足您的需求。
您要做的是查看内置导航菜单以构建更灵活的菜单。如果您使用的是下载的主题,那么几乎可以肯定它会受到支持。否则,您需要查看注册导航菜单以使您的主题“感知菜单”。
这将使您能够做的是构建一个灵活的菜单,该菜单不仅支持页面,还支持直观 UI 中的类别和单个帖子。我建议完全删除名为“新闻”的页面对象,而是将“新闻类别”按您喜欢的顺序放在所有页面对象旁边的菜单中。
至于以子菜单的形式查询导航菜单中最近的三个帖子,这对于纯代码来说会稍微复杂一些。
我的建议是先研究这个选项。构建一个工作的——尽管是静态的——原型来感受菜单界面。如果您正在编写自己的主题,请将您的 wp_list_pages 调用完全替换为wp_nav_menu。
一旦你开始工作,打开一个新问题,看看如何编写你自己的Nav Menu Walker以使所有内容都按你想要的方式显示。
通过采用这种方法,您将确保您的主题始终按照您的意愿自动运行,而不必经常进行修补。
让我知道这是否有帮助。