$conf, $runtime; function_exists('chdir') AND chdir(APP_PATH); $r = 'mysql' == $conf['cache']['type'] ? website_set('runtime', $runtime) : cache_set('runtime', $runtime); } function runtime_truncate() { global $conf; 'mysql' == $conf['cache']['type'] ? website_set('runtime', '') : cache_delete('runtime'); } register_shutdown_function('runtime_save'); ?>frontpage - Custom background for the index page only?|Programmer puzzle solving
最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

frontpage - Custom background for the index page only?

matteradmin7PV0评论

I am stuck at add_custom_background.

I can change background color/image but I only want to change my index page. Currently, the changes apply on the whole page.

I want to make the changes from WP-admin.

How can I specify it to a specific page ?

Edit:

I just checked im running 3.3.1. So my version is not supported to use add_theme_support( 'custom-background' );

instead I want to use add_custom_background.

  if ( is_front_page() )
{
   add_custom_background();
}

Cant get it to work.

I am stuck at add_custom_background.

I can change background color/image but I only want to change my index page. Currently, the changes apply on the whole page.

I want to make the changes from WP-admin.

How can I specify it to a specific page ?

Edit:

I just checked im running 3.3.1. So my version is not supported to use add_theme_support( 'custom-background' );

instead I want to use add_custom_background.

  if ( is_front_page() )
{
   add_custom_background();
}

Cant get it to work.

Share Improve this question edited Oct 17, 2012 at 12:08 M3o asked Oct 8, 2012 at 10:40 M3oM3o 4451 gold badge6 silver badges18 bronze badges 4
  • That is what it's supposed to do. For what you want, you'll have to "hack" the theme to do that and then add custom options in the admin. – Miha Rekar Commented Oct 8, 2012 at 11:36
  • So what do you suggest that i do in this case ? Is there any other plugin i could use ? – M3o Commented Oct 8, 2012 at 12:21
  • As I said - "hack" the theme. I almost never trust plugins, so I would write it myself, but yeah, there could be a plugin for that :P – Miha Rekar Commented Oct 8, 2012 at 12:22
  • any suggestion ? :P – M3o Commented Oct 17, 2012 at 11:48
Add a comment  | 

2 Answers 2

Reset to default 4

You can check in your callback function if you are an the front page.

Sample code for the theme’s functions.php:

add_action( 'after_setup_theme', 'wpse_67480_theme_setup' );

function wpse_67480_theme_setup()
{
    $bg_options = array (
        'wp-head-callback' => 'wpse_67480_background_frontend',
        'default-color'    => 'f0f0f0',
        'default-image'    => '',
    );
    add_theme_support( 'custom-background', $bg_options );

    add_theme_support(
        'custom-header',
        array (
            'width'       => 960,
            'height'      => 200,
            'flex-height' => TRUE,
            'flex-width'  => TRUE,
            'header-text' => FALSE,
            'wp-head-callback' => 'wpse_67480_header_frontend',
        )
    );
}

wpse_67480_background_frontend()
{
    if ( is_front_page() )
    {
        _custom_background_cb();
    }
}

wpse_67480_header_frontend()
{
    if ( ! is_front_page() )
    {
        return;
    }

    // create your header code here
}

You can use the body class and define your background in your style.css

Example: background for frontpage:

body.home { background: #eee; } 

background for pages

body.page { background: #ccc; }

background for archive pages

body.archive { background ... }

and so on. Just check your source code for the body class of the site you want to address.

If your background is for another element but body you can add the body class in front of it:

body.home .wrapper { background ... }
Post a comment

comment list (0)

  1. No comments so far