覆盖wp_config.php中的当前主题设置

时间:2012-07-19 作者:joeljoeljoel

我正在寻找一种方法来覆盖当前选择的主题,最好是从wp\\u配置中覆盖。php文件。我知道您可以覆盖配置中的一些wp\\u选项设置,如

define(\'WP_HOME\', \'http://someotherdomain.com\');
这将覆盖wp\\U选项表中的“主页”选项。有一个名为“current\\u theme”的选项,用于存储当前选定主题的名称。我想知道是否有一种方法可以从wp\\u配置文件中覆盖此内容,如果是,这是否会改变主题。

我试过了

define(\'WP_CURRENT_THEME\', \'someothertheme\');
但它不起作用。

我需要在我们的开发环境中这样做,因为数据库是在两个开发人员之间共享的。我需要能够处理一个主题,而其他开发人员处理另一个主题。

4 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

Drop this in a plugin &;使活动我应该注意到,这并没有考虑到像子主题这样的事情——这纯粹是为了切换基于哪个主题渲染SOME_FLAG.

add_filter( \'stylesheet\', \'switch_ma_theme\' );
add_filter( \'template\',   \'switch_ma_theme\' );

function switch_ma_theme()
{
    // Return the theme directory name
    return SOME_FLAG ? \'theme-1\' : \'theme-2\';
}

SO网友:Wyck

另一种解决方案。

add_action( \'template_redirect\' , \'thisismyurl_change_theme_manually\' );

function thisismyurl_change_theme_manually() {
if ( \'twentyeleven\' != get_stylesheet() && is_admin() )
switch_theme( \'twentyeleven\', \'style.css\' );
}
但是,如果您使用不同的WordPress安装,为什么不在管理中单击“激活主题”?

附:您可以在此处阅读更多内容:http://nacin.com/2012/03/29/page-templates-in-subdirectories-new-in-wordpress-3-4/

SO网友:Vijay Kumar

当您使用不同安装的wordpress共享同一数据库时,最好的解决方案是在配置文件中添加主题信息,因为如果您转到admin并更改主题,它将更改共享同一数据库的所有安装的wordpress的主题。

您可以将以下代码添加到wp配置中。php文件:

define(\'TEMPLATEPATH\', \'/path/to/your/new/theme/directory\');
define(\'STYLESHEETPATH\', \'/path/to/your/new/theme/directory\');

SO网友:markratledge

为什么不使用像WordPress › Theme Tester « WordPress Plugins 或者类似的,开发人员是否使用不同的管理登录?但不确定主题测试仪是否处理小部件选择。

而且在两次安装中使用一个DB仍然不是一个好主意。

结束