[wp-trac] [WordPress Trac] #40527: Decouple WP_Customize_Manager
WordPress Trac
noreply at wordpress.org
Sat Apr 22 11:00:00 UTC 2017
#40527: Decouple WP_Customize_Manager
--------------------------+-----------------------------
Reporter: utkarshpatel | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Customize | Version: trunk
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
When you create multiple instances of `WP_Customize_Manager` it
adds/removes multiple hooks in its constructor which should be executed
single time.
So let's say if I want to create two new changeset posts it I will do.
{{{#!php
<?php
$data = array(
... // Some changeset data.
);
$manager1 = new WP_Customize_Manager();
$manager1->save_changeset_post( array( 'data' => $data ) );
$manager2 = new WP_Customize_Manager();
$manager2->save_changeset_post( array( 'data' => $data ) );
}}}
This will cause `wp_ajax_customize_save` to add twice with `$manager1` and
`$manager2` it should add only once.
`wp_ajax_customize_save` is a just example.
See Constructor:
https://github.com/WordPress/WordPress/blob/5f771393a318d333503d5e13525dfcd543819302
/wp-includes/class-wp-customize-manager.php#L229-L369.
So we should decouple `WP_Customize_Manager` class and maybe extract
changeset methods in separate class `WP_Customize_Changeset`.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/40527>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list