web-dev-qa-db-ja.com

子テーマからのネイティブでないカスタマイザー設定の削除

カスタマイザの設定、コントロール、およびセクションを削除するには、単純に次のようなremoveメソッドを使用します。

function remove_custom($wp_customize) {
  $wp_customize->remove_setting('id');
  $wp_customize->remove_control('id');
  $wp_customize->remove_section('id');
}

私が気づいているのは、親テーマのカスタマイズを削除する方法がないことです。つまり、Wordpress自体のネイティブではないカスタマイズです。実際、blogdescriptionを削除しようとすることは可能です。

それに関する文書が見つかりません。私は何を無視していますか?

1
lucgenti

私はあなたのテーマがどのように機能するかについて多くを推測していますが、 子テーマのfunctions.phpの前に親テーマのfunctions.php を実行親の機能によってあなたが削除するために存在するつもりはないでしょう。後で実行できるように関数をフックする必要があります。

add_action('after_setup_theme', 'remove_custom');

ただし、$wp_customize変数を使用して混乱させる必要があります。コードが親登録コードの後に​​実行されるように、高い優先順位番号でcustomize_registerフックにフックする方が簡単です。

add_action( 'customize_register', 'remove_custom', 1000 );
2
s_ha_dum