首页 > 解决方案 > 使用 WP 和 Gatsby 时,是否可以用本地自定义页面覆盖一些自动生成的页面?

问题描述

是否可以在 createPage 生成期间忽略特定路由,而是让src/pages/目录中的页面优先?例如,我有一个带有多个子页面的路由,例如parent/child1parent/child2 等等。但是,我希望能够parent/src/pages目录中创建一个自定义页面,这实际上会覆盖来自 WordPress 的自动生成的内容。

来自 gatsby-node.js 的片段:

allWordpressPage.edges.forEach(edge => {
if (edge.node.status === 'publish') {
  createPage({
    path: edge.node.link,
    component: slash(pageTemplate),
    context: {
      id: edge.node.id,
      parent: edge.node.wordpress_parent,
      wpId: edge.node.wordpress_id,
    },
  });
 }
});

任何帮助深表感谢。

标签: wordpressgatsbyheadless-cms

解决方案


通过仅检查适当的路径名并在这种情况下基本上跳过 createPage 来解决此问题:

if (edge.node.status === 'publish' && edge.node.link !== 'PATH_NAME_HERE') {

src/pages/现在将使用中指定的文件。


推荐阅读