2

有谁知道如何扩展这个主题(https://github.com/gilbitron/wp-rest-theme)以主题特定页面?例如,我想创建一个名为“菜单”的页面,该页面有一个独特的导航,可以点击进入早餐、午餐、晚餐等子页面,而无需重新加载。我习惯于通过 page-{slug}.php 创建单独的 .php 文件来根据我的喜好创建特定页面的主题 - 是否有使用 vue.js 和 wp rest api 的等效工作流程?

而不是使用 page-menu.php 来自定义 /menu 页面,我想我需要创建类似 menu-page.vue 文件并添加一个自定义方法来专门调用该页面以便对其进行模板化。

我找不到这个过程的任何例子。任何帮助将不胜感激。

4

1 回答 1

2

我所做的是使用高级自定义字段添加一个字段,该字段确定页面应该使用哪个模板。我将显示包装在一个名为的组件PageContent中,如下所示:

<div :is="page.template"
     :page="page"
     v-if="!$loadingRouteData"
     transition="fade"
     transition-mode="out-in">
</div>

路由器:

  '/:slug': {
    component: PageContent,
    name: 'Page'
  }

因此,当有人导航到该路线时,我会根据slug参数获取页面。该page变量然后template通过 ACF 具有一个属性,该属性确定要显示的组件并默认为通用页面:

if(pages[0].acf.template){
  return pages[0].acf.template;
}
return 'page'

您需要 WP JSON API 插件以及将 ACF 数据添加到 json 的 ACF 插件

我的网站使用此设置,如果您有更多问题,很乐意分享更多代码。

于 2016-05-08T23:08:03.867 回答