web-dev-qa-db-ja.com

Wp config.phpの現在のテーマ設定を上書きする

現在選択されているテーマを、できればwp_config.phpファイルの中から上書きする方法を探しています。私はあなたが好きなように設定でいくつかのwp_options設定を上書きすることができます知っている

define('WP_HOME', 'http://someotherdomain.com');

これはwp_optionsテーブルの 'home'オプションを上書きします。現在選択されているテーマの名前を格納する 'current_theme'と呼ばれるオプションがあります。私はwp_configファイルからこれをオーバーライドする方法があるかどうか、そしてもしそうであれば、これは実際にテーマを変えるでしょうか。

私はもう試した

define('WP_CURRENT_THEME', 'someothertheme');

しかし、うまくいきません。

データベースは2人の開発者で共有されているので、私たちの開発環境でこれを行う必要があります。他の開発者が別のテーマに取り組んでいる間、私は1つのテーマに取り組むことができる必要があります。

2
joeljoeljoel

これをプラグインにドロップする &アクティブにする私はこれが子テーマのようなものを考慮に入れていないことに注意するべきです - それはどのテーマが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';
}
5
TheDeadMedic

別の解決策.

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を使用している場合は、管理者で[テーマのアクティブ化]をクリックしないでください。

ps。あなたはここでもっと読むことができます: http://nacin.com/2012/03/29/page-templates-in-subdirectories-new-in-wordpress-3-4/ /

1
Wyck

あなたが持っているwordpressの異なるインストールと同じデータベースを共有している場合、あなたが管理者に行き、テーマを変更した場合、それは同じデータベースを共有しているwordpressのすべてのインストールのテーマを変更するからです。

あなたのwp-config.phpファイルに次のコードを追加することができます:

define('TEMPLATEPATH', '/path/to/your/new/theme/directory');
define('STYLESHEETPATH', '/path/to/your/new/theme/directory');
1
Vijay Kumar

WordPress› Theme Tester"WordPressプラグイン のようなプラグインを使用し、開発者が異なる管理者ログインを使用するようにしませんか?ただし、Theme Testerがウィジェットの選択を処理するかどうかはわかりません。

それでも、2回のインストールで1つのDBを使用することはお勧めできません。

0
markratledge