Come rimuovo un'impostazione di personalizzazione preesistente?


Risposte:


16

In ritardo alla festa, ma questo farà il trucco:

$wp_customize->remove_control('blogdescription');

Vuoi rimuovere solo quel controllo, non l'intera sezione come suggerito sopra.


1
Anche l'impostazione dovrebbe essere rimossa: $ wp_customize-> remove_setting ('blogdescription')
mimarcel

Questo rimuoverà anche qualsiasi valore memorizzato che è attualmente lì? Sto riscontrando un problema in cui desidero eliminare le impostazioni / i controlli esistenti che dispongono di dati esistenti, ma i dati vengono ancora richiamati. wordpress.stackexchange.com/questions/329343/…
Lee

10

Rimuovi un'impostazione di personalizzazione preesistente in tema wordpress con questo codice.

inserisci qui la descrizione dell'immagine

add_action( "customize_register", "ruth_sherman_theme_customize_register" );
function ruth_sherman_theme_customize_register( $wp_customize ) {

 //=============================================================
 // Remove header image and widgets option from theme customizer
 //=============================================================
 $wp_customize->remove_control("header_image");
 $wp_customize->remove_panel("widgets");

 //=============================================================
 // Remove Colors, Background image, and Static front page 
 // option from theme customizer     
 //=============================================================
 $wp_customize->remove_section("colors");
 $wp_customize->remove_section("background_image");
 $wp_customize->remove_section("static_front_page");

}

5

Ho scoperto che la classe WP_Customize_Manager ha una funzione chiamata remove_section(). Nella tua funzione agganciata a customize_registerte puoi semplicemente fare:

    $wp_customize->remove_section('nav');
    $wp_customize->remove_section('static_front_page');

È possibile trovare l'ID della sezione (ad esempio "nav") se si ispeziona la barra del titolo della fisarmonica della sezione. Guarda l'ID del <li>tag contenente ed è la parte della stringa dopo "customize-section-". IE:

<li id="customize-section-static_front_page" class="control-section customize-section">

- l'ID è "static_front_page"


Sembra migliore della mia soluzione, quindi ti darò il segno di spunta - Non l'ho provato ma suppongo tu abbia ... Non ho il title_tagline però - sicuramente dovrebbe dire static_front_page, è un errore di battitura?
byronyasgur,

@byronyasgur yep, che era un errore di copia pasta, risolto ora. Grazie!
jessica,

In realtà, questa non è la risposta corretta. Ciò rimuove l' intera sezione che contiene sia il titolo del sito che la tagline. La domanda richiede solo il motto. Guarda la risposta qui sotto di @byronyasgur
BFTrick

2

Accedere a OTTO

Un'ultima cosa che puoi aggiungere a una sezione è un'opzione "theme_supports". Questo farà apparire il menu a meno che il tema non supporti qualcosa. Se stai inserendo questo codice in un tema stesso, allora sai già cosa supporta il tema, quindi non ha molto senso. Il core usa questo per non mostrare l'intestazione e le opzioni di sfondo se il tema non le supporta.

Quindi l'ho messo insieme

    $wp_customize->get_setting('blogdescription')->transport='postMessage';

... e ho scoperto che il seguente codice ha funzionato. Ho falserichiesto il tema_supporti ... non sono sicuro di cosa dovrei davvero inserire ... forse qualcuno un po 'più esperto può migliorare.

    $wp_customize->add_control('blogdescription')->theme_supports=false;

1

se la sezione / pannello o core di controllo, è sempre meglio disabilitarli al posto della rimozione.

add_action( 'customize_register', 'wp_stackexchange_58932' );
function wp_stackexchange_58932($wp_customize){
    $wp_customize->get_section( 'static_front_page' )->active_callback = '__return_false';
    $wp_customize->get_section( 'custom_css' )->active_callback = '__return_false';
}

1
Ottimo consiglio, l'ho usato per mostrare sempre l'impostazione static_front_page, anche se non c'è una pagina (per impostazione predefinita mostra solo quando c'è una pagina esistente sul sito)
Larzan

0

Se lo stai usando in un plugin dovresti usare un argomento prioritario come 999 e funzionerà nel plugin.

add_action( "customize_register","wpcb_theme_customize_register",999,1);    

function wpcb_theme_customize_register($wp_customize){
   $wp_customize->get_setting('blogdescription')->transport='postMessage';
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.