Support » Developing with WordPress » add default color to wordpress theme (for background)

  • Resolved benoitadam

    (@benoitadam)


    So I did the most simple code here :

    
        add_theme_support(
        	'custom-background',
        	array(
        		'default-color' => 'a62829',
        	)
        );

    I have both body_class(); and wp_head(); in my theme, and still, it doesn’t work, I don’t have the defaut color.

    The background Image does works thus…

Viewing 11 replies - 1 through 11 (of 11 total)
  • Zworthkey

    (@danielbora123)

    Did you tried to do it from dashboard.
    For that just click on Appearance->Customize->Colors & Dark mode tabe-> Site background Color.

    Perhaps your theme overrides the default in the stylesheet, or you didn’t put the # in front to make it a color.

    Thread Starter benoitadam

    (@benoitadam)

    Did you tried to do it from dashboard.
    For that just click on Appearance->Customize->Colors & Dark mode tabe-> Site background Color.

    I just have the option to put an Image, But I can’t change the color

    Perhaps your theme overrides the default in the stylesheet, or you didn’t put the # in front to make it a color.

    Where could it overide ? I’m writing a theme from skratch here…

    same with the “#” :/

    Oh, well, you need to put the style in your stylesheet.
    I think the default is used for the control in the Customizer. Usually when I would review themes, the author would put it in the stylesheet, but forget to match it in the default parameter.

    Thread Starter benoitadam

    (@benoitadam)

    The documentation says this :

    https://developer.wordpress.org/reference/functions/add_theme_support/#custom-background

    When I put this :

    $defaults = array(
    	'default-color'          => 'a62829',
    );
    add_theme_support( 'custom-background', $defaults );

    It just doesn’t work

    How am I supposed to put it in my stylesheet ? If I put it in “Body” , it also applyes to the back-end… and that’s a big NO for theme reviewers (and also for me)

    Thread Starter benoitadam

    (@benoitadam)

    From Twenty-Twenty One I copy this code :

    		// Custom background color.
    		add_theme_support(
    			'custom-background',
    			array(
    				'default-color' => 'd1e4dd',
    			)
    		);

    Still, doesn’t work…

    This is all [a problem], to be honest.

    It just doesn’t work

    Yes, it works. It just doesn’t do what you think it should do.
    The add_theme_support function is a way for core WP to know what the theme is doing in the stylesheet. It is not for WP to output a style.

    If I put it in “Body” , it also applyes to the back-end

    The theme stylesheet should not be loaded in the admin, unless you designate it for the editor style sheet, and then it’s only in the editor.
    As a theme author, you have to write the CSS so that it applies only to what it should apply to.

    Thread Starter benoitadam

    (@benoitadam)

    Yes, it works. It just doesn’t do what you think it should do.
    The add_theme_support function is a way for core WP to know what the theme is doing in the stylesheet. It is not for WP to output a style.

    It add support Yes, but it doesnot load a defaut color.

    I’m just following official guideline here, but again, it doesn’t work like it seems to be supposed to.

    The theme stylesheet should not be loaded in the admin, unless you designate it for the editor style sheet, and then it’s only in the editor.

    Well using the default style.css on the /themename/ fodler it does. But maybe you have a workaround about that

    As a theme author, you have to write the CSS so that it applies only to what it should apply to.

    so is there a method to add background-color other than adding it to the <body> then ?

    I’m just following official guideline here, but again, it doesn’t work like it seems to be supposed to.

    The add_theme_support function tells WP what the theme supports. The theme has to actually provide the support. That function does not provide the support. That means you have to put the style into your stylesheet.

    Go to the Theme Repository and click on Feature Filter. Then select Custom Background and click the Apply Filters button. Download any theme that is showing and read the code for how to do it.

    Thread Starter benoitadam

    (@benoitadam)

    I did on twentytwenty but code was weird.

    I found a solution myself :

    in style.css

    .bg-color-brown{
    	background-color:#a62829;
    }

    Then add the body class like this :

    <body <?php body_class('bg-color-brown'); ?>>

    Thread Starter benoitadam

    (@benoitadam)

    Also you can use the editor color palette to let user change it :

    add_theme_support(‘custom-background’);
    add_theme_support(‘editor-color-palette’);

    • This reply was modified 8 months, 1 week ago by benoitadam.
Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘add default color to wordpress theme (for background)’ is closed to new replies.