web-dev-qa-db-fra.com

Comment ajouter de nouvelles données d'argument dans $ wp_customize-> add_setting?

Ce que j'essaie de faire est d'ajouter de nouveaux arguments ( output ) comme ci-dessous:

$wp_customize->add_setting(
    'modular_header_main_border_bottom_color', array(
        'default'    => '#e9ecef',
        'capability' => 'edit_theme_options',
        'output'     => array(
            array(
                'element'  => 'body',
                'property' => 'background-color',
            ),
        ),
    )
);

Et, obtenez le tableau de sortie devant et mettez-le en file d'attente en tant que CSS valide. Jusqu'à présent, j'ai essayé d'obtenir la même chose en utilisant le crochet personnaliser_dynamic_setting_args qui fonctionne bien dans Customizer. Mais le problème est que les données qui y sont stockées ne sont pas accessibles en mode frontal. https://Pastebin.com/AEdmPJDV

Je suppose qu'il devrait y avoir une autre façon de faire la même chose.

1
Ashish Shrestha

C'est peut-être ce que vous cherchez

$args = array(
    'default'    => '#e9ecef',
    'capability' => 'edit_theme_options',
);

if ( something() ) {
    $args['output'] = array(
        array(
            'element'  => 'body',
            'property' => 'background-color',
        ),
    );
}

$wp_customize->add_setting( 'modular_header_main_border_bottom_color', $args );

Nous créons d’abord un tableau pour les arguments. Plus tard, nous transmettons une valeur de clé à ce tableau avec certaines conditions.

1
Sanjeev Shrestha