Quando criamos um tema personalizado, não raro temos opções presentes no Personalizador do WordPress (Theme Customizer) que serão ignoradas e não produzirão resultado prático no visual do sítio. Sendo assim, é mais conveniente que essas opções sejam removidas, já que poderão confundir o usuário.
Para começar, a classe que gerencia tudo que envolve o Personalizador se chama WP_Customize_Manager e o objeto criado em execução é $wp_customize
.
Há 4 tipos de objetos no Personalizador: Panels (painéis), Sections (seções), Settings (Configurações/Ajustes) e Controls (controles). Neste artigo, vamos ver os dois primeiros.
Quando entramos no Personalizador temos um monte de linguetas/abas. Elas podem ser ou uma seção ou um painel, que contêm os diversos controles para se manipular as configurações.
Quando usamos uma seção ela só permite adicionar controles dentro dela. “Identidade do site” e “Cores” são itens implementados como uma seção.
Já um painel permite que se adicione seções dentro dele. “Menus” e “Widgets” são itens implementados como um painel.
Vamos ver a lista de seções e painéis presentes no WordPress:
Título | Tipo | ID | Ordem |
Identidade do site | seção | title_tagline | 20 |
Cores | seção | colors | 40 |
Imagem do cabeçalho | seção | header_image | 60 |
Imagem de fundo | seção | background_image | 80 |
Menus | painel | nav_menus | 100 |
Widgets | painel | widgets | 110 |
Configurações da página inicial | seção | static_front_page | 120 |
CSS adicional | seção | custom_css | 200 |
Para se remover uma seção, usamos o método remove_section
. Para remover um painel, o método remove_panel
.
Finalmente, vamos a um exemplo de código. Cria um plugin ou adiciona este trecho no arquivo functions.php
do teu tema:
function remove_itens_personalizador( $wp_customize ) {
// Remove a seção "Imagem de fundo"
$wp_customize->remove_section( 'background_image');
// Remove o painel "Menus"
$wp_customize->remove_panel( 'nav_menus');
// Remove a seção "CSS adicional".
$wp_customize->remove_section( 'custom_css');
}
add_action( 'customize_register', 'mytheme_customize_register',50 );
Simples, não? É isso.
Se tens algo a acrescentar ou tens alguma dúvida, comenta aí embaixo para a gente trocar uma ideia.
Até o próximo!