如何将Gatsby网站部署到Wordpress子目录?

时间:2018-08-24 10:10:51

标签: wordpress reactjs gatsby

我有一个Wordpress网站的“ portfolio”子目录,所以网站结构看起来像这样……

www.sitename.com/portfolio/project-1
www.sitename.com/portfolio/project-2
www.sitename.com/portfolio/project-3

...并且对于“ project-3”中的页面,我已经用Gatsby构建了一个页面,并希望将其托管在该页面上。其他项目将保留为Wordpress页面,但只有“ project-3”页面将由Gatsby构建。如何做到这一点?我想象它涉及“ gatsby-config.js”中的“ pathPrefix”,但是一旦构建了页面,如何将其放入我的Wordpress网站。这篇中型文章展示了如何使用香草React ... https://medium.com/@ReactionGears/react-app-inside-a-wordpress-page-or-post-4c7d38181b3d ...但是我不确定它如何转换成盖茨比。任何帮助,将不胜感激! :)

1 个答案:

答案 0 :(得分:0)

@ fabian-schultz的评论是正确的,您可以使用pathPrefix构建Gatsby网站,然后将该网站放入子目录。

WordPress使用“虚拟”子目录,因此/portfolio在您的文件系统上将不存在。您可以将投资组合目录更改为/portfolio-project-1(这样就可以使用单个文件夹而不是嵌套文件夹),也可以创建/portfolio目录。如果这样做,则需要从index.php目录复制/文件,然后更改包含路径。

您的portfolio/index.php文件可能如下所示:

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/../wp-blog-header.php' );

最后一行的/..告诉WordPress在上面的文件夹中搜索wp-blog-header.php文件。