Alterando a imagem de fundo da seção específica em wordpress

Como altero a imagem de fundo da seção específica no wordpress?

Eu tenho um conjunto de imagens de fundo via CSS:

.section3 { background: url(bg.jpg) no repeat; } 

Diga que eu quero mudar essa imagem mais tarde através do painel do WordPress. Como eu faria isso? Eu quero adicionar funcionalidades para que o usuário possa alterar a imagem no futuro.

A function de fundo padrão apenas permite que o usuário altere a cor de fundo na página. Eu quero segmentar esta seção específica.

Solutions Collecting From Web of "Alterando a imagem de fundo da seção específica em wordpress"

Use a API do Personalizador ( Tópicos Avançados ) para modificar um plano de fundo dynamic.


ATUALIZAR

Eric Lewis acabou de apresentar uma ideia ontem à noite, que poderia tornar possível personalizar o conteúdo de um único post, e não apenas opções de tema global usando o Customizer. Confira o CSS personalizado por publicação no WordPress . Ele também mostra como adicionar um botão à página de publicação de edição que traz o personalizador em uma janela modal para visualizações AJAX mais rápidas.


Essência

 add_action( 'admin_enqueue_scripts', function($hook_suffix) { if ( in_array( $hook_suffix, array( 'post.php', 'post-new.php' ) ) ) { wp_enqueue_script( 'customize-loader' ); } } ); add_action( 'post_submitbox_misc_actions', function() { $customize_url = add_query_arg( array( // current page 'url' => urlencode( get_post_permalink() ), // custom url // 'url' => urlencode( home_url() . '/page-to-preview/' ), // deeplink to panel // 'autofocus' => array( 'panel' => 'widgets' ) ), wp_customize_url() ); ?> < ?php } ); 

Há também controles contextuais se desejar segmentar páginas específicas.

Mas acho que a maneira mais fácil de usar Advanced Custom Fields .

Usando o customizador, adicione este pedaço de código em suas funções.php

 add_action( 'customize_register' , 'my_theme_options' ); function my_theme_options( $wp_customize ) { $wp_customize->add_section('mytheme_section_bg_img', array( 'title' => __( 'Section name', 'my_theme_slug' ), 'priority' => 100, 'capability' => 'edit_theme_options', 'description' => __('Select a background image', 'my_theme_slug'), ) ); $wp_customize->add_setting('section_bg_img'); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'section_bg_img', array( 'label' => __( 'Background image', 'my_theme_slug' ), 'section' => 'mytheme_section_bg_img', 'settings' => 'section_bg_img', 'priority' => 10, ) )); } 

Você deve alterar “my_theme_slug” pelo slug do seu tema.

Uma vez feito, você deve selecionar uma imagem do personalizador e, finalmente, imprimi-la onde quiser, usando este código:

 
>

Espero que ajude!