Hier zeige ich euch kurz, wie ihr die Eigenschaften von bestehenden Customizer-Controls ändern könnt – hilfreich für einen kleinen Denkanstoß war dabei ein Gist von Marcio Duarte.
In meinem konkreten Fall wollte ich der vom Core erzeugten Header-Image-Control einen active_callback
mitgeben, um sie nur anzuzeigen, wenn der Nutzer auf einer statischen Startseite ist. Um das zu erreichen, braucht es nur eine Zeile Code:
/**
* Set active callback for the header image control.
*/
$wp_customize->get_control( 'header_image' )->active_callback = 'slug_is_static_front_page';
Code-Sprache: PHP (php)
Entsprechend lassen sich auch die anderen Eigenschaften anpassen – ein paar Beispiele gibt es im oben verlinkten Gist. Der Vollständigkeit halber hier noch die Callback-Funktion:
/**
* Check if we are on a static front page.
*
* @param WP_Customize_Control $control Control object.
*
* @return bool
*/
function slug_is_static_front_page( $control ) {
/**
* Return true if is static front page.
*/
if ( is_front_page() && is_page() ) {
return true;
} else {
return false;
}
}
Code-Sprache: PHP (php)