web-dev-qa-db-ja.com

プラグイン内でWordPressテーマを有効にする機能

テーマを生成するプラグインを作成しているので、テーマ生成プロセスの最後に、新しく作成したテーマを手動で実行しなくてもアクティブ化できるようにするためのチェックボックスが必要です。できる機能はありますか?

3
Notorious Etam

もちろんそのための関数があります( Codex ):

switch_theme( $stylesheet )

それ:

現在のテーマを新しいテンプレートとスタイルシートの名前に切り替えます。 1つの引数、テーマの$ stylesheetを受け入れます。 ($ stylesheetはあなたのフォルダのスラッグの名前です。子テーマに使うのと同じ値です。twentythirteenのようなものです。)また、$ templateと$ stylesheetの2つの引数の追加の関数シグネチャも受け付けます。これは後方互換性のためです。

そして、なぜそれがより良いのですか? WordPressは多くのことにフィルタとアクションを使います。たとえば、テーマを切り替えると未使用のウィジェットが保存されるため、新しいサイドバーにそれらを復元できます。DBでテーマを直接切り替える場合は、すべて完了しません。

3

私の頭に浮かぶ唯一のことはデータベースからそれをすることである、それで基本的にチェックボックスステータスをチェックした後、あなたはwp_optionsテーブルを選択しなければならないでしょう、あなたは2行を見つける必要があるでしょうtemplateおよびstylesheet

enter image description here 

それからalexandriayouThemeNameに更新する必要があります。そのクエリは次のようになります。

$query = "UPDATE wp_options SET option_value='youThemeName' WHERE option_name='template' OR option_name='stylesheet';";
$wpdb->query($query);
1
Castiblanco