/**
  * Set URL to link the user to when closing the Customizer.
  *
  * URL is validated.
  *
  * @since 4.4.0
  * @access public
  *
  * @param string $return_url URL for return link.
  */
 public function set_return_url($return_url)
 {
     $return_url = esc_url_raw($return_url);
     $return_url = remove_query_arg(wp_removable_query_args(), $return_url);
     $return_url = wp_validate_redirect($return_url);
     $this->return_url = $return_url;
 }
Exemple #2
0
 * @package WordPress
 * @subpackage Customize
 * @since 3.4.0
 */
define('IFRAME_REQUEST', true);
/** Load WordPress Administration Bootstrap */
require_once dirname(__FILE__) . '/admin.php';
if (!current_user_can('customize')) {
    wp_die('<h1>' . __('Cheatin&#8217; uh?') . '</h1>' . '<p>' . __('You are not allowed to customize the appearance of this site.') . '</p>', 403);
}
wp_reset_vars(array('url', 'return'));
$url = wp_unslash($url);
$url = wp_validate_redirect($url, home_url('/'));
if ($return) {
    $return = wp_unslash($return);
    $return = remove_query_arg(wp_removable_query_args(), $return);
    $return = wp_validate_redirect($return);
}
if (!$return) {
    if ($url) {
        $return = $url;
    } elseif (current_user_can('edit_theme_options') || current_user_can('switch_themes')) {
        $return = admin_url('themes.php');
    } else {
        $return = admin_url();
    }
}
/**
 * @global WP_Scripts           $wp_scripts
 * @global WP_Customize_Manager $wp_customize
 */
Exemple #3
0
/**
 * Remove single-use URL parameters and create canonical link based on new URL.
 *
 * Remove specific query string parameters from a URL, create the canonical link,
 * put it in the admin header, and change the current URL to match.
 *
 * @since 4.2.0
 */
function wp_admin_canonical_url()
{
    $removable_query_args = wp_removable_query_args();
    if (empty($removable_query_args)) {
        return;
    }
    // Ensure we're using an absolute URL.
    $current_url = set_url_scheme('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    $filtered_url = remove_query_arg($removable_query_args, $current_url);
    ?>
	<link id="wp-admin-canonical" rel="canonical" href="<?php 
    echo esc_url($filtered_url);
    ?>
" />
	<script>
		if ( window.history.replaceState ) {
			window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href + window.location.hash );
		}
	</script>
<?php 
}
 /**
  * Display the pagination.
  *
  * @since 3.1.0
  * @access protected
  *
  * @param string $which
  */
 protected function pagination($which)
 {
     if (empty($this->_pagination_args)) {
         return;
     }
     $total_items = $this->_pagination_args['total_items'];
     $total_pages = $this->_pagination_args['total_pages'];
     $infinite_scroll = false;
     if (isset($this->_pagination_args['infinite_scroll'])) {
         $infinite_scroll = $this->_pagination_args['infinite_scroll'];
     }
     if ('top' === $which && $total_pages > 1) {
         $this->screen->render_screen_reader_content('heading_pagination');
     }
     $output = '<span class="displaying-num">' . sprintf(_n('%s item', '%s items', $total_items), number_format_i18n($total_items)) . '</span>';
     $current = $this->get_pagenum();
     $removable_query_args = wp_removable_query_args();
     $current_url = set_url_scheme('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
     $current_url = remove_query_arg($removable_query_args, $current_url);
     $page_links = array();
     $total_pages_before = '<span class="paging-input">';
     $total_pages_after = '</span></span>';
     $disable_first = $disable_last = $disable_prev = $disable_next = false;
     if ($current == 1) {
         $disable_first = true;
         $disable_prev = true;
     }
     if ($current == 2) {
         $disable_first = true;
     }
     if ($current == $total_pages) {
         $disable_last = true;
         $disable_next = true;
     }
     if ($current == $total_pages - 1) {
         $disable_last = true;
     }
     if ($disable_first) {
         $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&laquo;</span>';
     } else {
         $page_links[] = sprintf("<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url(remove_query_arg('paged', $current_url)), __('First page'), '&laquo;');
     }
     if ($disable_prev) {
         $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&lsaquo;</span>';
     } else {
         $page_links[] = sprintf("<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url(add_query_arg('paged', max(1, $current - 1), $current_url)), __('Previous page'), '&lsaquo;');
     }
     if ('bottom' === $which) {
         $html_current_page = $current;
         $total_pages_before = '<span class="screen-reader-text">' . __('Current Page') . '</span><span id="table-paging" class="paging-input"><span class="tablenav-paging-text">';
     } else {
         $html_current_page = sprintf("%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' /><span class='tablenav-paging-text'>", '<label for="current-page-selector" class="screen-reader-text">' . __('Current Page') . '</label>', $current, strlen($total_pages));
     }
     $html_total_pages = sprintf("<span class='total-pages'>%s</span>", number_format_i18n($total_pages));
     $page_links[] = $total_pages_before . sprintf(_x('%1$s of %2$s', 'paging'), $html_current_page, $html_total_pages) . $total_pages_after;
     if ($disable_next) {
         $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&rsaquo;</span>';
     } else {
         $page_links[] = sprintf("<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url(add_query_arg('paged', min($total_pages, $current + 1), $current_url)), __('Next page'), '&rsaquo;');
     }
     if ($disable_last) {
         $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&raquo;</span>';
     } else {
         $page_links[] = sprintf("<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>", esc_url(add_query_arg('paged', $total_pages, $current_url)), __('Last page'), '&raquo;');
     }
     $pagination_links_class = 'pagination-links';
     if (!empty($infinite_scroll)) {
         $pagination_links_class = ' hide-if-js';
     }
     $output .= "\n<span class='{$pagination_links_class}'>" . join("\n", $page_links) . '</span>';
     if ($total_pages) {
         $page_class = $total_pages < 2 ? ' one-page' : '';
     } else {
         $page_class = ' no-pages';
     }
     $this->_pagination = "<div class='tablenav-pages{$page_class}'>{$output}</div>";
     echo $this->_pagination;
 }