*
* @since 3.7.0
*
+ * @global bool $is_nginx
+ *
* @return bool Whether the server supports URL rewriting.
*/
function got_url_rewrite() {
* blank out old rules.
*
* @since 1.5.0
+ *
+ * @global WP_Rewrite $wp_rewrite
*/
function save_mod_rewrite_rules() {
if ( is_multisite() )
*
* @since 2.8.0
*
+ * @global WP_Rewrite $wp_rewrite
+ *
* @return bool True if web.config was updated successfully
*/
function iis7_save_url_rewrite_rules(){
flush_rewrite_rules();
}
-add_action( 'update_option_home', 'update_home_siteurl', 10, 2 );
-add_action( 'update_option_siteurl', 'update_home_siteurl', 10, 2 );
-add_action( 'update_option_page_on_front', 'update_home_siteurl', 10, 2 );
-
/**
* Shorten an URL, to be used as link text
*
flush();
}
+/**
+ * @since 2.8.0
+ *
+ * @param string $content
+ * @return array
+ */
function wp_doc_link_parse( $content ) {
if ( !is_string( $content ) || empty( $content ) )
return array();
* Display the default admin color scheme picker (Used in user-edit.php)
*
* @since 3.0.0
+ *
+ * @global array $_wp_admin_css_colors
*/
function admin_color_scheme_picker( $user_id ) {
global $_wp_admin_css_colors;
<?php
}
+/**
+ *
+ * @global array $_wp_admin_css_colors
+ */
function wp_color_scheme_settings() {
global $_wp_admin_css_colors;
$icon_colors = $_wp_admin_css_colors['fresh']->icon_colors;
} else {
// Fall back to the default set of icon colors if the default scheme is missing.
- $icon_colors = array( 'base' => '#999', 'focus' => '#2ea2cc', 'current' => '#fff' );
+ $icon_colors = array( 'base' => '#999', 'focus' => '#00a0d2', 'current' => '#fff' );
}
echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ) ) . ";</script>\n";
}
-add_action( 'admin_head', 'wp_color_scheme_settings' );
+/**
+ * @since 3.3.0
+ */
function _ipad_meta() {
if ( wp_is_mobile() ) {
?>
<?php
}
}
-add_action('admin_head', '_ipad_meta');
/**
* Check lock status for posts displayed on the Posts screen
return $response;
}
-add_filter( 'heartbeat_received', 'wp_check_locked_posts', 10, 3 );
/**
* Check lock status on the New/Edit Post screen and refresh the lock
return $response;
}
-add_filter( 'heartbeat_received', 'wp_refresh_post_lock', 10, 3 );
/**
* Check nonce expiration on the New/Edit Post screen and refresh if needed
$received = $data['wp-refresh-post-nonces'];
$response['wp-refresh-post-nonces'] = array( 'check' => 1 );
- if ( ! $post_id = absint( $received['post_id'] ) )
+ if ( ! $post_id = absint( $received['post_id'] ) ) {
return $response;
+ }
- if ( ! current_user_can( 'edit_post', $post_id ) || empty( $received['post_nonce'] ) )
+ if ( ! current_user_can( 'edit_post', $post_id ) ) {
return $response;
-
- if ( 2 === wp_verify_nonce( $received['post_nonce'], 'update-post_' . $post_id ) ) {
- $response['wp-refresh-post-nonces'] = array(
- 'replace' => array(
- 'getpermalinknonce' => wp_create_nonce('getpermalink'),
- 'samplepermalinknonce' => wp_create_nonce('samplepermalink'),
- 'closedpostboxesnonce' => wp_create_nonce('closedpostboxes'),
- '_ajax_linking_nonce' => wp_create_nonce( 'internal-linking' ),
- '_wpnonce' => wp_create_nonce( 'update-post_' . $post_id ),
- ),
- 'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ),
- );
}
+
+ $response['wp-refresh-post-nonces'] = array(
+ 'replace' => array(
+ 'getpermalinknonce' => wp_create_nonce('getpermalink'),
+ 'samplepermalinknonce' => wp_create_nonce('samplepermalink'),
+ 'closedpostboxesnonce' => wp_create_nonce('closedpostboxes'),
+ '_ajax_linking_nonce' => wp_create_nonce( 'internal-linking' ),
+ '_wpnonce' => wp_create_nonce( 'update-post_' . $post_id ),
+ ),
+ 'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ),
+ );
}
return $response;
}
-add_filter( 'heartbeat_received', 'wp_refresh_post_nonces', 10, 3 );
/**
* Disable suspension of Heartbeat on the Add/Edit Post screens.
*
* @since 3.8.0
*
+ * @global string $pagenow
+ *
* @param array $settings An array of Heartbeat settings.
* @return array Filtered Heartbeat settings.
*/
return $settings;
}
-add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' );
/**
* Autosave with heartbeat
return $response;
}
-// Run later as we have to set DOING_AUTOSAVE for back-compat
-add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 );
/**
* Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers,
* when the user navigates to it with the browser's Back button. See #28037
*
* @since 4.0
+ *
+ * @global bool $is_safari
+ * @global bool $is_chrome
*/
function post_form_autocomplete_off() {
global $is_safari, $is_chrome;
}
}
-add_action( 'post_edit_form_tag', 'post_form_autocomplete_off' );
+/**
+ * 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 = array(
+ 'message', 'settings-updated', 'saved',
+ 'update', 'updated', 'activated',
+ 'activate', 'deactivate', 'locked',
+ 'deleted', 'trashed', 'untrashed',
+ 'enabled', 'disabled', 'skipped',
+ 'spammed', 'unspammed',
+ );
+
+ /**
+ * Filter the list of URL parameters to remove.
+ *
+ * @since 4.2.0
+ *
+ * @param array $removable_query_args An array of parameters to remove from the URL.
+ */
+ $removable_query_args = apply_filters( 'removable_query_args', $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
+}