为主题创建单独的目录和(子)域
假设域是themes.example.com
, 目录是/extra/wp-themes/
.
现在让您的所有安装都使用新的主题根目录。或者就这么做the same for plugins 从一个地方管理所有插件。
无法使用常量注册新的主题根目录,您需要这样的插件:
<?php
/* Plugin Name: Local Theme Roots */
add_filter( \'theme_root_uri\', \'t5_switch_theme_root\' );
add_filter( \'theme_root\', \'t5_switch_theme_root\' );
/**
* Create a custom theme directory.
*
* @wp-hook theme_root
* @wp-hook theme_root_uri
* @author Thomas Scholz, http://toscho.de
* @param string $in URL or path
* @return string
*/
function t5_switch_theme_root( $in )
{
if ( \'theme_root_uri\' === current_filter() )
return "http://themes.example.com";
// If we made it so far we are in the \'theme_root\' filter.
$new_root = \'/extra/wp-themes\';
register_theme_directory( $new_root );
return $new_root;
}
请注意WordPress的主题更新程序中有一个bug,它不允许您从WordPress更新主题。使用自定义主题目录时的org目录。您必须手动运行这些主题的更新,或使用
Ticket #22501 直到WordPress 3.6退出。