我喜歡在localhost上本地開發,然後將所有內容都推送到測試服務器。本地主機和我的測試服務器都使用相同的數據庫。唯一的問題是get_template_directory()返回我的測試服務器路徑。Wordpress get_template_directory()在本地主機和dev服務器上使用同一個數據庫
我可以使用.htacess或其他方法從get_template_directory()返回相應的本地/活動路徑嗎?
我喜歡在localhost上本地開發,然後將所有內容都推送到測試服務器。本地主機和我的測試服務器都使用相同的數據庫。唯一的問題是get_template_directory()返回我的測試服務器路徑。Wordpress get_template_directory()在本地主機和dev服務器上使用同一個數據庫
我可以使用.htacess或其他方法從get_template_directory()返回相應的本地/活動路徑嗎?
我使用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');
希望有幫助。
我發現你可以在wp-config中定義站點。
我增加了以下內容的wp-config.php文件:
define('WP_HOME','http://localhost/wp_root');
define('WP_SITEURL','http://localhost/wp_root');
現在,所有的鏈接和圖片都配有正確的路徑。
這是很好的知道。該框架非常適合git wordpress的起點。謝謝! – Bryan 2014-10-27 20:19:23
很高興分享@Bryan。所有名譽點感激地收到! – 2014-10-27 21:18:13