diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
index 3de502e..438af2b 100644
|
|
|
|
| 45 | 45 | * previewer.send() call to then fallback to refresh will not work. |
| 46 | 46 | * |
| 47 | 47 | * @since 3.4.0 |
| | 48 | * @access public |
| | 49 | * |
| | 50 | * @returns {void} |
| 48 | 51 | */ |
| 49 | 52 | preview: function() { |
| 50 | 53 | var setting = this, transport; |
| … |
… |
|
| 55 | 58 | } |
| 56 | 59 | |
| 57 | 60 | if ( 'postMessage' === transport ) { |
| 58 | | return setting.previewer.send( 'setting', [ setting.id, setting() ] ); |
| | 61 | setting.previewer.send( 'setting', [ setting.id, setting() ] ); |
| 59 | 62 | } else if ( 'refresh' === transport ) { |
| 60 | | return setting.previewer.refresh(); |
| | 63 | setting.previewer.refresh(); |
| 61 | 64 | } |
| 62 | 65 | }, |
| 63 | 66 | |
| … |
… |
|
| 130 | 133 | /** |
| 131 | 134 | * Get the dirty setting values. |
| 132 | 135 | * |
| | 136 | * @since 4.7.0 |
| | 137 | * @access public |
| | 138 | * |
| 133 | 139 | * @param {object} [options] Options. |
| 134 | 140 | * @param {boolean} [options.unsaved=false] Whether only values not saved yet into a changeset will be returned (differential changes). |
| 135 | 141 | * @returns {object} Dirty setting values. |
| … |
… |
|
| 158 | 164 | /** |
| 159 | 165 | * Request updates to the changeset. |
| 160 | 166 | * |
| | 167 | * @since 4.7.0 |
| | 168 | * @access public |
| | 169 | * |
| 161 | 170 | * @param {object} [changes] Mapping of setting IDs to setting params each normally including a value property, or mapping to null. |
| 162 | 171 | * If not provided, then the changes will still be obtained from unsaved dirty settings. |
| 163 | | * @returns {jQuery.Promise} |
| | 172 | * @returns {jQuery.Promise} Promise resolving with the response data. |
| 164 | 173 | */ |
| 165 | 174 | api.requestChangesetUpdate = function requestChangesetUpdate( changes ) { |
| 166 | 175 | var deferred, request, submittedChanges = {}, data; |
| … |
… |
|
| 684 | 693 | * Animate container state change if transitions are supported by the browser. |
| 685 | 694 | * |
| 686 | 695 | * @since 4.7.0 |
| | 696 | * @private |
| 687 | 697 | * |
| 688 | 698 | * @param {function} completeCallback Function to be called after transition is completed. |
| 689 | 699 | * @returns {void} |
| 690 | | * @private |
| 691 | 700 | */ |
| 692 | 701 | _animateChangeExpanded: function( completeCallback ) { |
| 693 | 702 | // Return if CSS transitions are not supported. |
| … |
… |
|
| 778 | 787 | * method to handle animating the panel/section into and out of view. |
| 779 | 788 | * |
| 780 | 789 | * @since 4.7.0 |
| | 790 | * @access public |
| 781 | 791 | * |
| 782 | 792 | * @returns {jQuery} Detached content element. |
| 783 | 793 | */ |
| … |
… |
|
| 935 | 945 | content.toggleClass( 'open' ); |
| 936 | 946 | content.slideToggle(); |
| 937 | 947 | content.attr( 'aria-expanded', function ( i, attr ) { |
| 938 | | return attr === 'true' ? 'false' : 'true'; |
| | 948 | return 'true' === attr ? 'false' : 'true'; |
| 939 | 949 | }); |
| 940 | 950 | }); |
| 941 | 951 | }, |
| … |
… |
|
| 1419 | 1429 | * Load theme preview. |
| 1420 | 1430 | * |
| 1421 | 1431 | * @since 4.7.0 |
| | 1432 | * @access public |
| 1422 | 1433 | * |
| 1423 | 1434 | * @param {string} themeId Theme ID. |
| 1424 | 1435 | * @returns {jQuery.promise} Promise. |
| … |
… |
|
| 1451 | 1462 | request.done( function() { |
| 1452 | 1463 | $( window ).off( 'beforeunload.customize-confirm' ); |
| 1453 | 1464 | top.location.href = urlParser.href; |
| | 1465 | deferred.resolve(); |
| 1454 | 1466 | } ); |
| 1455 | 1467 | request.fail( function() { |
| 1456 | 1468 | overlay.removeClass( 'customize-loading' ); |
| | 1469 | deferred.reject(); |
| 1457 | 1470 | } ); |
| 1458 | 1471 | }; |
| 1459 | 1472 | |
| … |
… |
|
| 2273 | 2286 | // Reset the create page form. |
| 2274 | 2287 | container.slideUp( 180 ); |
| 2275 | 2288 | toggle.slideDown( 180 ); |
| 2276 | | } ) |
| 2277 | | .always( function() { |
| | 2289 | } ); |
| | 2290 | promise.always( function() { |
| 2278 | 2291 | input.val( '' ).removeAttr( 'disabled' ); |
| 2279 | 2292 | } ); |
| 2280 | 2293 | } |
| … |
… |
|
| 2320 | 2333 | } |
| 2321 | 2334 | |
| 2322 | 2335 | control.setting.bind( function ( value ) { |
| 2323 | | // bail if the update came from the control itself |
| | 2336 | // Bail if the update came from the control itself. |
| 2324 | 2337 | if ( updating ) { |
| 2325 | 2338 | return; |
| 2326 | 2339 | } |
| … |
… |
|
| 2641 | 2654 | * Set up control UI once embedded in DOM and settings are created. |
| 2642 | 2655 | * |
| 2643 | 2656 | * @since 4.7.0 |
| | 2657 | * @access public |
| 2644 | 2658 | */ |
| 2645 | 2659 | ready: function() { |
| 2646 | 2660 | var control = this, updateRadios; |
| … |
… |
|
| 3713 | 3727 | parsedCandidateUrls.unshift( urlParser ); |
| 3714 | 3728 | } |
| 3715 | 3729 | |
| 3716 | | // Attempt to match the URL to the control frame's scheme |
| 3717 | | // and check if it's allowed. If not, try the original URL. |
| | 3730 | // Attempt to match the URL to the control frame's scheme and check if it's allowed. If not, try the original URL. |
| 3718 | 3731 | parsedAllowedUrl = document.createElement( 'a' ); |
| 3719 | 3732 | _.find( parsedCandidateUrls, function( parsedCandidateUrl ) { |
| 3720 | 3733 | return ! _.isUndefined( _.find( previewer.allowedUrls, function( allowedUrl ) { |
| … |
… |
|
| 3771 | 3784 | * Handle the preview receiving the ready message. |
| 3772 | 3785 | * |
| 3773 | 3786 | * @since 4.7.0 |
| | 3787 | * @access public |
| 3774 | 3788 | * |
| 3775 | 3789 | * @param {object} data - Data from preview. |
| 3776 | 3790 | * @param {string} data.currentUrl - Current URL. |
| … |
… |
|
| 3845 | 3859 | * If a message is not received in the allotted time then the iframe will be set back to the last known valid URL. |
| 3846 | 3860 | * |
| 3847 | 3861 | * @since 4.7.0 |
| | 3862 | * @access public |
| 3848 | 3863 | * |
| 3849 | 3864 | * @returns {void} |
| 3850 | 3865 | */ |
| … |
… |
|
| 3904 | 3919 | |
| 3905 | 3920 | /** |
| 3906 | 3921 | * Refresh the preview seamlessly. |
| | 3922 | * |
| | 3923 | * @since 3.4.0 |
| | 3924 | * @access public |
| | 3925 | * @returns {void} |
| 3907 | 3926 | */ |
| 3908 | 3927 | refresh: function() { |
| 3909 | 3928 | var previewer = this, onSettingChange; |
| … |
… |
|
| 4299 | 4318 | /** |
| 4300 | 4319 | * Build the query to send along with the Preview request. |
| 4301 | 4320 | * |
| | 4321 | * @since 3.4.0 |
| 4302 | 4322 | * @since 4.7.0 Added options param. |
| | 4323 | * @access public |
| 4303 | 4324 | * |
| 4304 | 4325 | * @param {object} [options] Options. |
| 4305 | 4326 | * @param {boolean} [options.excludeCustomizedSaved=false] Exclude saved settings in customized response (values pending writing to changeset). |
| … |
… |
|
| 4333 | 4354 | * A revision will be made for the changeset post if revisions support |
| 4334 | 4355 | * has been added to the post type. |
| 4335 | 4356 | * |
| | 4357 | * @since 3.4.0 |
| | 4358 | * @since 4.7.0 Added args param and return value. |
| | 4359 | * |
| 4336 | 4360 | * @param {object} [args] Args. |
| 4337 | 4361 | * @param {string} [args.status=publish] Status. |
| 4338 | 4362 | * @param {string} [args.date] Date, in local time in MySQL format. |
| 4339 | 4363 | * @param {string} [args.title] Title |
| 4340 | | * |
| 4341 | | * @returns {jQuery.promise} |
| | 4364 | * @returns {jQuery.promise} Promise. |
| 4342 | 4365 | */ |
| 4343 | 4366 | save: function( args ) { |
| 4344 | 4367 | var previewer = this, |
| … |
… |
|
| 4693 | 4716 | } |
| 4694 | 4717 | }); |
| 4695 | 4718 | |
| | 4719 | /** |
| | 4720 | * Populate URL with UUID via `history.replaceState()`. |
| | 4721 | * |
| | 4722 | * @since 4.7.0 |
| | 4723 | * @access private |
| | 4724 | * |
| | 4725 | * @param {boolean} isIncluded Is UUID included. |
| | 4726 | * @returns {void} |
| | 4727 | */ |
| 4696 | 4728 | populateChangesetUuidParam = function( isIncluded ) { |
| 4697 | 4729 | var urlParser, queryParams; |
| 4698 | 4730 | urlParser = document.createElement( 'a' ); |
| … |
… |
|
| 4829 | 4861 | changeContainer, getHeaderHeight, releaseStickyHeader, resetStickyHeader, positionStickyHeader, |
| 4830 | 4862 | activeHeader, lastScrollTop; |
| 4831 | 4863 | |
| 4832 | | // Determine which panel or section is currently expanded. |
| | 4864 | /** |
| | 4865 | * Determine which panel or section is currently expanded. |
| | 4866 | * |
| | 4867 | * @since 4.7.0 |
| | 4868 | * @access private |
| | 4869 | * |
| | 4870 | * @param {wp.customize.Panel|wp.customize.Section} container Construct. |
| | 4871 | * @returns {void} |
| | 4872 | */ |
| 4833 | 4873 | changeContainer = function( container ) { |
| 4834 | 4874 | var newInstance = container, |
| 4835 | 4875 | expandedSection = api.state( 'expandedSection' ).get(), |
| … |
… |
|
| 4905 | 4945 | headerParent.css( 'padding-top', '' ); |
| 4906 | 4946 | }; |
| 4907 | 4947 | |
| 4908 | | // Get header height. |
| | 4948 | /** |
| | 4949 | * Get header height. |
| | 4950 | * |
| | 4951 | * @since 4.7.0 |
| | 4952 | * @access private |
| | 4953 | * |
| | 4954 | * @param {jQuery} headerElement Header element. |
| | 4955 | * @returns {number} Height. |
| | 4956 | */ |
| 4909 | 4957 | getHeaderHeight = function( headerElement ) { |
| 4910 | 4958 | var height = headerElement.data( 'height' ); |
| 4911 | 4959 | if ( ! height ) { |
| … |
… |
|
| 4915 | 4963 | return height; |
| 4916 | 4964 | }; |
| 4917 | 4965 | |
| 4918 | | // Reposition header on throttled `scroll` event. |
| | 4966 | /** |
| | 4967 | * Reposition header on throttled `scroll` event. |
| | 4968 | * |
| | 4969 | * @param {object} header Header. |
| | 4970 | * @param {number} scrollTop Scroll top. |
| | 4971 | * @param {boolean} isScrollingUp Is scrolling up? |
| | 4972 | * @returns {void} |
| | 4973 | */ |
| 4919 | 4974 | positionStickyHeader = function( header, scrollTop, isScrollingUp ) { |
| 4920 | 4975 | var headerElement = header.element, |
| 4921 | 4976 | headerParent = header.parent, |
| … |
… |
|
| 5362 | 5417 | /** |
| 5363 | 5418 | * Request changeset update and then re-schedule the next changeset update time. |
| 5364 | 5419 | * |
| | 5420 | * @since 4.7.0 |
| 5365 | 5421 | * @private |
| 5366 | 5422 | */ |
| 5367 | 5423 | updateChangesetWithReschedule = function() { |
| … |
… |
|
| 5377 | 5433 | /** |
| 5378 | 5434 | * Schedule changeset update. |
| 5379 | 5435 | * |
| | 5436 | * @since 4.7.0 |
| 5380 | 5437 | * @private |
| 5381 | 5438 | */ |
| 5382 | 5439 | scheduleChangesetUpdate = function() { |
diff --git src/wp-admin/js/customize-nav-menus.js src/wp-admin/js/customize-nav-menus.js
index 5e4e5f9..be3fba1 100644
|
|
|
|
| 85 | 85 | /** |
| 86 | 86 | * Insert a new `auto-draft` post. |
| 87 | 87 | * |
| | 88 | * @since 4.7.0 |
| | 89 | * @access public |
| | 90 | * |
| 88 | 91 | * @param {object} params - Parameters for the draft post to create. |
| 89 | 92 | * @param {string} params.post_type - Post type to add. |
| 90 | 93 | * @param {string} params.post_title - Post title to use. |
| … |
… |
|
| 562 | 565 | itemName.val( '' ); |
| 563 | 566 | }, |
| 564 | 567 | |
| 565 | | // Submit handler for keypress (enter) on field and click on button. |
| | 568 | /** |
| | 569 | * Submit handler for keypress (enter) on field and click on button. |
| | 570 | * |
| | 571 | * @since 4.7.0 |
| | 572 | * @private |
| | 573 | * |
| | 574 | * @param {jQuery.Event} event Event. |
| | 575 | * @returns {void} |
| | 576 | */ |
| 566 | 577 | _submitNew: function( event ) { |
| 567 | 578 | var container; |
| 568 | 579 | |
| … |
… |
|
| 580 | 591 | this.submitNew( container ); |
| 581 | 592 | }, |
| 582 | 593 | |
| 583 | | // Creates a new object and adds an associated menu item to the menu. |
| | 594 | /** |
| | 595 | * Creates a new object and adds an associated menu item to the menu. |
| | 596 | * |
| | 597 | * @since 4.7.0 |
| | 598 | * @private |
| | 599 | * |
| | 600 | * @param {jQuery} container |
| | 601 | * @returns {void} |
| | 602 | */ |
| 584 | 603 | submitNew: function( container ) { |
| 585 | 604 | var panel = this, |
| 586 | 605 | itemName = container.find( '.create-item-input' ), |
diff --git src/wp-includes/class-wp-customize-control.php src/wp-includes/class-wp-customize-control.php
index 40e10dc..07c6dcf 100644
|
|
|
class WP_Customize_Control {
|
| 119 | 119 | * |
| 120 | 120 | * @since 4.7.0 |
| 121 | 121 | * @access public |
| 122 | | * @var array |
| | 122 | * @var bool |
| 123 | 123 | */ |
| 124 | 124 | public $allow_addition = false; |
| 125 | 125 | |
diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php
index 439e2b5..e71787c 100644
|
|
|
final class WP_Customize_Manager {
|
| 3967 | 3967 | if ( ! in_array( $value, array( 'repeat-x', 'repeat-y', 'repeat', 'no-repeat' ) ) ) { |
| 3968 | 3968 | return new WP_Error( 'invalid_value', __( 'Invalid value for background repeat.' ) ); |
| 3969 | 3969 | } |
| 3970 | | } else if ( 'background_attachment' === $setting->id ) { |
| | 3970 | } elseif ( 'background_attachment' === $setting->id ) { |
| 3971 | 3971 | if ( ! in_array( $value, array( 'fixed', 'scroll' ) ) ) { |
| 3972 | 3972 | return new WP_Error( 'invalid_value', __( 'Invalid value for background attachment.' ) ); |
| 3973 | 3973 | } |
| 3974 | | } else if ( 'background_position_x' === $setting->id ) { |
| | 3974 | } elseif ( 'background_position_x' === $setting->id ) { |
| 3975 | 3975 | if ( ! in_array( $value, array( 'left', 'center', 'right' ), true ) ) { |
| 3976 | 3976 | return new WP_Error( 'invalid_value', __( 'Invalid value for background position X.' ) ); |
| 3977 | 3977 | } |
| 3978 | | } else if ( 'background_position_y' === $setting->id ) { |
| | 3978 | } elseif ( 'background_position_y' === $setting->id ) { |
| 3979 | 3979 | if ( ! in_array( $value, array( 'top', 'center', 'bottom' ), true ) ) { |
| 3980 | 3980 | return new WP_Error( 'invalid_value', __( 'Invalid value for background position Y.' ) ); |
| 3981 | 3981 | } |
| 3982 | | } else if ( 'background_size' === $setting->id ) { |
| | 3982 | } elseif ( 'background_size' === $setting->id ) { |
| 3983 | 3983 | if ( ! in_array( $value, array( 'auto', 'contain', 'cover' ), true ) ) { |
| 3984 | 3984 | return new WP_Error( 'invalid_value', __( 'Invalid value for background size.' ) ); |
| 3985 | 3985 | } |
| 3986 | | } else if ( 'background_preset' === $setting->id ) { |
| | 3986 | } elseif ( 'background_preset' === $setting->id ) { |
| 3987 | 3987 | if ( ! in_array( $value, array( 'default', 'fill', 'fit', 'repeat', 'custom' ), true ) ) { |
| 3988 | 3988 | return new WP_Error( 'invalid_value', __( 'Invalid value for background size.' ) ); |
| 3989 | 3989 | } |
| 3990 | | } else if ( 'background_image' === $setting->id || 'background_image_thumb' === $setting->id ) { |
| | 3990 | } elseif ( 'background_image' === $setting->id || 'background_image_thumb' === $setting->id ) { |
| 3991 | 3991 | $value = empty( $value ) ? '' : esc_url_raw( $value ); |
| 3992 | 3992 | } else { |
| 3993 | 3993 | return new WP_Error( 'unrecognized_setting', __( 'Unrecognized background setting.' ) ); |
diff --git src/wp-includes/customize/class-wp-customize-color-control.php src/wp-includes/customize/class-wp-customize-color-control.php
index e29b2e4..7f6a9b5 100644
|
|
|
|
| 16 | 16 | */ |
| 17 | 17 | class WP_Customize_Color_Control extends WP_Customize_Control { |
| 18 | 18 | /** |
| | 19 | * Type. |
| | 20 | * |
| 19 | 21 | * @access public |
| 20 | 22 | * @var string |
| 21 | 23 | */ |
| 22 | 24 | public $type = 'color'; |
| 23 | 25 | |
| 24 | 26 | /** |
| | 27 | * Statuses. |
| | 28 | * |
| 25 | 29 | * @access public |
| 26 | 30 | * @var array |
| 27 | 31 | */ |
| 28 | 32 | public $statuses; |
| 29 | 33 | |
| 30 | 34 | /** |
| 31 | | * @access public |
| 32 | | * @var string |
| 33 | | */ |
| | 35 | * Mode. |
| | 36 | * |
| | 37 | * @since 4.7.0 |
| | 38 | * @access public |
| | 39 | * @var string |
| | 40 | */ |
| 34 | 41 | public $mode = 'full'; |
| 35 | 42 | |
| 36 | 43 | /** |
diff --git src/wp-includes/customize/class-wp-customize-custom-css-setting.php src/wp-includes/customize/class-wp-customize-custom-css-setting.php
index eadd47c..f43859a 100644
|
|
|
final class WP_Customize_Custom_CSS_Setting extends WP_Customize_Setting {
|
| 21 | 21 | /** |
| 22 | 22 | * The setting type. |
| 23 | 23 | * |
| 24 | | * @var string |
| 25 | | * |
| 26 | 24 | * @since 4.7.0 |
| 27 | 25 | * @access public |
| | 26 | * @var string |
| 28 | 27 | */ |
| 29 | 28 | public $type = 'custom_css'; |
| 30 | 29 | |
| … |
… |
final class WP_Customize_Custom_CSS_Setting extends WP_Customize_Setting {
|
| 33 | 32 | * |
| 34 | 33 | * @since 4.7.0 |
| 35 | 34 | * @access public |
| 36 | | * |
| 37 | 35 | * @var string |
| 38 | 36 | */ |
| 39 | 37 | public $transport = 'postMessage'; |
| … |
… |
final class WP_Customize_Custom_CSS_Setting extends WP_Customize_Setting {
|
| 43 | 41 | * |
| 44 | 42 | * @since 4.7.0 |
| 45 | 43 | * @access public |
| 46 | | * |
| 47 | 44 | * @var string |
| 48 | 45 | */ |
| 49 | 46 | public $capability = 'edit_css'; |
| … |
… |
final class WP_Customize_Custom_CSS_Setting extends WP_Customize_Setting {
|
| 53 | 50 | * |
| 54 | 51 | * @since 4.7.0 |
| 55 | 52 | * @access public |
| 56 | | * |
| 57 | 53 | * @var string |
| 58 | 54 | */ |
| 59 | 55 | public $stylesheet = ''; |
diff --git src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
index 00d6952..8bffb0e 100644
|
|
|
class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting {
|
| 267 | 267 | * Get original title. |
| 268 | 268 | * |
| 269 | 269 | * @since 4.7.0 |
| | 270 | * @access protected |
| 270 | 271 | * |
| 271 | 272 | * @param object $item Nav menu item. |
| 272 | 273 | * @return string The original title. |
diff --git src/wp-includes/js/customize-preview.js src/wp-includes/js/customize-preview.js
index 7a37ba5..a4cb196 100644
|
|
|
|
| 132 | 132 | * Handle link clicks in preview. |
| 133 | 133 | * |
| 134 | 134 | * @since 4.7.0 |
| | 135 | * @access public |
| 135 | 136 | * |
| 136 | 137 | * @param {jQuery.Event} event Event. |
| 137 | 138 | */ |
| … |
… |
|
| 178 | 179 | * Handle form submit. |
| 179 | 180 | * |
| 180 | 181 | * @since 4.7.0 |
| | 182 | * @access public |
| 181 | 183 | * |
| 182 | 184 | * @param {jQuery.Event} event Event. |
| 183 | 185 | */ |
diff --git src/wp-includes/js/customize-selective-refresh.js src/wp-includes/js/customize-selective-refresh.js
index 75006a7..f6dfa0b 100644
|
|
|
wp.customize.selectiveRefresh = ( function( $, api ) {
|
| 104 | 104 | * Create and show the edit shortcut for a given partial placement container. |
| 105 | 105 | * |
| 106 | 106 | * @since 4.7.0 |
| | 107 | * @access public |
| 107 | 108 | * |
| 108 | 109 | * @param {Placement} placement The placement container element. |
| 109 | 110 | * @returns {void} |
| … |
… |
wp.customize.selectiveRefresh = ( function( $, api ) {
|
| 132 | 133 | * Add an edit shortcut to the placement container. |
| 133 | 134 | * |
| 134 | 135 | * @since 4.7.0 |
| | 136 | * @access public |
| 135 | 137 | * |
| 136 | 138 | * @param {Placement} placement The placement for the partial. |
| 137 | 139 | * @param {jQuery} $editShortcut The shortcut element as a jQuery object. |
| … |
… |
wp.customize.selectiveRefresh = ( function( $, api ) {
|
| 149 | 151 | * Return the unique class name for the edit shortcut button for this partial. |
| 150 | 152 | * |
| 151 | 153 | * @since 4.7.0 |
| | 154 | * @access public |
| 152 | 155 | * |
| 153 | 156 | * @return {string} Partial ID converted into a class name for use in shortcut. |
| 154 | 157 | */ |
| … |
… |
wp.customize.selectiveRefresh = ( function( $, api ) {
|
| 162 | 165 | * Return the appropriate translated string for the edit shortcut button. |
| 163 | 166 | * |
| 164 | 167 | * @since 4.7.0 |
| | 168 | * @access public |
| 165 | 169 | * |
| 166 | 170 | * @return {string} Tooltip for edit shortcut. |
| 167 | 171 | */ |
| … |
… |
wp.customize.selectiveRefresh = ( function( $, api ) {
|
| 187 | 191 | * Will use `params.type` if set, but otherwise will try to infer type from settingId. |
| 188 | 192 | * |
| 189 | 193 | * @since 4.7.0 |
| | 194 | * @access public |
| 190 | 195 | * |
| 191 | 196 | * @return {string} Type of partial derived from type param or the related setting ID. |
| 192 | 197 | */ |
| … |
… |
wp.customize.selectiveRefresh = ( function( $, api ) {
|
| 209 | 214 | * Create an edit shortcut button for this partial. |
| 210 | 215 | * |
| 211 | 216 | * @since 4.7.0 |
| | 217 | * @access public |
| 212 | 218 | * |
| 213 | 219 | * @return {jQuery} The edit shortcut button element. |
| 214 | 220 | */ |