サポート » テーマ » TwentyTwelveのカスタム背景を無効に

  • 解決済 MAMMOTH17

    (@mammoth17)


    現在TwentyTwelveを元に子テーマを制作しており、
    カスタム背景を無効にしたいと思い子テーマのfunctions.phpに
    remove_theme_support( 'custom-background' );
    を追加したのですが適用されません。
    試しに
    add_theme_support( 'custom-background', array( 'default-color' => 'ffffff', ) );
    を入力した所こちらは適用されました。

    どなたか宜しくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは、

    子テーマの、functions.phpは、親テーマより先に読み込まれます。

    テーマサポートを、削除した後に、テーマサポートがaddされるためだと思います。

    親テーマは、以下のようにカスタム背景などの関数をフックして実行しています

    add_action( 'after_setup_theme', 'twentytwelve_setup' );

    なので、

    チャイルドテーマでは、親テーマより実行順を遅らせてやるといいと思います。

    add_action( 'after_setup_theme', 'child_twentytwelve_setup',11 );
    
    function child_twentytwelve_setup(){
    	remove_theme_support( 'custom-background' );
    }
    トピック投稿者 MAMMOTH17

    (@mammoth17)

    nobitaさんご回答ありがとうございます!
    上記の通り追加した所できました!

    気になったのですが無効にした後でもbodyにcustom-backgroundのクラスがついているのですがこれは仕方ないのでしょうか?

    仕様には全く差支えは無いのですが気になったので…

    気になりますね

    これはコアの動作なので、遅らせる必要はないので、以下のようにそのまま書けばいいと思います。

    add_filter( 'body_class' , 'my_remove_custom_background' );
    function my_remove_custom_background( $classes ){
    	unset($classes['custom-background']);
    	return $classes;
    }
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「TwentyTwelveのカスタム背景を無効に」には新たに返信することはできません。