Wordpress get_template_directory()使用相同的数据库在localhost和dev服务器上工作

时间:2014-10-27 17:12:15

标签: wordpress .htaccess configuration localhost

我喜欢在localhost上进行本地开发,然后将所有内容都推送到测试服务器。 localhost和我的测试服务器都使用相同的数据库。唯一的问题是get_template_directory()返回我的测试服务器路径。

我可以使用.htacess或其他东西从get_template_directory()返回相应的本地/实时路径吗?

2 个答案:

答案 0 :(得分:0)

我使用Mark Jaquith在WordPress Skeleton设置中建议的方法的变体。

这个想法是通过在wp-config.php文件的顶部添加以下内容:

if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) {

    include( dirname( __FILE__ ) . '/local-config.php' );

    define( 'WP_LOCAL_DEV', true );

    return;
}

您可以创建一个local-config.php文件,该文件可用于为本地开发指定单独的设置。只要您不将此文件添加到源存储库中,那么在部署到登台/生产服务器时将不会出现此文件,而是将使用标准wp-config.php文件中的设置。

然后,您可以根据WP_LOCAL_DEV常量的状态过滤theme_root,或者在本地配置文件本身中指定不同的常量,例如

define('WP_CONTENT_DIR', realpath($_SERVER['DOCUMENT_ROOT']) . '/wp-content');
define('WP_CONTENT_URL', '/wp-content');
define('WP_PLUGIN_DIR', realpath($_SERVER['DOCUMENT_ROOT']) . '/wp-content/plugins');
define('WP_PLUGIN_URL', '/wp-content/plugins');

希望有所帮助。

答案 1 :(得分:0)

我发现你可以在wp-config中定义网站。

我在wp-config.php中添加了以下内容:

define('WP_HOME','http://localhost/wp_root');
define('WP_SITEURL','http://localhost/wp_root');

现在所有链接和图像都以正确的路径提供。