/** * Renders the "Customize" button. * * @access private * @since 8.4 * * @param cnTemplate $template * @param string $customizerURL * @param string $returnURL */ function cnTemplateCustomizerButton($template, $customizerURL, $returnURL) { if ($template->supports('customizer')) { $href = add_query_arg(array('url' => urlencode(add_query_arg('cn-template', $template->getSlug(), $customizerURL)), 'cn-template' => $template->getSlug(), 'return' => urlencode($returnURL)), 'customize.php'); /** * NOTE: According to the docs for the JavaScript Customizer API, you can auto focus * to the panel, section or control you wish via the URL. Which does work. * * However, if you add this via @see add_query_arg() or escape it using * @see esc_url() the required bracket will be removed which are required * for auto focusing via the URL too function. This is why I added it after * escaping the URL. * * @link https://make.wordpress.org/core/2014/10/27/toward-a-complete-javascript-api-for-the-customizer/#focusing */ ?> <a class="button" href="<?php echo esc_url($href) . '&autofocus[section]=cn_template_customizer_section_display'; ?> " title="Customize '<?php echo esc_attr($template->getName()); ?> '"><?php _e('Customize', 'connections'); ?> </a> <?php } }
/** * @param cnTemplate $template */ public function __construct($template) { $this->template = $template; add_filter('cn_list_atts-' . $template->getSlug(), array(__CLASS__, 'initOptions')); }