Make WordPress Core


Ignore:
Timestamp:
03/01/2016 10:03:27 PM (9 years ago)
Author:
westonruter
Message:

Customize: Ensure autofocus deep-linking applies for dynamically-created panels, sections, and controls.

Removes overly-zealous filtering of autofocus panels, sections, and controls which are unrecognized or for which the user doesn't have the capability to focus (in which case it would no-op anyway). Also defers autofocus logic until instances are created, even after initial ready event. This ensures that autofocus can apply for any panels, sections, or controls that get created via the loaded preview.

See #28650.
Fixes #36018.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-customize-manager.php

    r36776 r36796  
    17291729            'sections' => array(),
    17301730            'nonce'    => $this->get_nonces(),
    1731             'autofocus' => array(),
     1731            'autofocus' => $this->get_autofocus(),
    17321732            'documentTitleTmpl' => $this->get_document_title_template(),
    17331733            'previewableDevices' => $this->get_previewable_devices(),
     
    17511751                    }
    17521752                }
    1753             }
    1754         }
    1755 
    1756         // Pass to front end the Customizer construct being deeplinked.
    1757         foreach ( $this->get_autofocus() as $type => $id ) {
    1758             $can_autofocus = (
    1759                 ( 'control' === $type && $this->get_control( $id ) && $this->get_control( $id )->check_capabilities() )
    1760                 ||
    1761                 ( 'section' === $type && isset( $settings['sections'][ $id ] ) )
    1762                 ||
    1763                 ( 'panel' === $type && isset( $settings['panels'][ $id ] ) )
    1764             );
    1765             if ( $can_autofocus ) {
    1766                 $settings['autofocus'][ $type ] = $id;
    17671753            }
    17681754        }
Note: See TracChangeset for help on using the changeset viewer.