0

Ok here's the scenario: I have added a custom section to an existing theme so that it shows up in the theme customization page (customize.php). The problem I am having is that I don't know how to notify wordpress when changes are made in my custom control. I guess I am missing something in my code because it should do it in automatic?

Here is some sample code:

$wp_customize->add_section('my_section', 
    array(
        'title' => 'My title',
        'description' => 'My description',
        'priority' => 201
    )
);

$wp_customize->add_setting(
    'my_setting',
    array(
        'default' => '',
        'type' => 'option',
        'transport' => 'postMessage'
    )
);

$wp_customize->add_control(
    new My_Control(
        $wp_customize,
        'my_control',
        array(
            'label'    => 'My label',
            'settings' => 'my_setting',
            'section'  => 'my_section'
        )
    )
);

Note that My_Control is a class which enqueues additional js/css files and renders my sortable list. I am storing my model in an array rather than using multiple settings; I add my model to the page using the wp_localize_script function.

0

Real-time updating is achieved with JavaScript. Is your .js code working? The Codex has great examples and I think Otto has a defacto post about it somewhere on Google.

This has everything you need: https://codex.wordpress.org/Theme_Customization_API

  • Yes, my js code is working properly, I'll have a thorough look at the documentation. Thanks for answering by the way – Warrior Mar 17 '14 at 8:05
0

Wait, why use transport => postMessage? That's for handling the communication between the control and a JS script.

You should just use transport => refresh, this way WordPress will refresh itself on change on the input.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.