$got_rewrite = apache_mod_loaded('mod_rewrite', true);
/**
- * Filter whether Apache and mod_rewrite are present.
+ * Filters whether Apache and mod_rewrite are present.
*
* This filter was previously used to force URL rewriting for other servers,
- * like nginx. Use the got_url_rewrite filter in got_url_rewrite() instead.
+ * like nginx. Use the {@see 'got_url_rewrite'} filter in got_url_rewrite() instead.
*
* @since 2.5.0
*
$got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks() );
/**
- * Filter whether URL rewriting is available.
+ * Filters whether URL rewriting is available.
*
* @since 3.7.0
*
sort( $functions );
/**
- * Filter the list of functions and classes to be ignored from the documentation lookup.
+ * Filters the list of functions and classes to be ignored from the documentation lookup.
*
* @since 2.8.0
*
default:
/**
- * Filter a screen option value before it is set.
+ * Filters a screen option value before it is set.
*
* The filter can also be used to modify non-standard [items]_per_page
* settings. See the parent function for a full list of standard options.
if ( $doc->load($filename) === false )
return false;
$xpath = new DOMXPath($doc);
- $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
+ $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]');
if ( $rules->length == 0 )
return false;
else
if ( $doc -> load($filename) === false )
return false;
$xpath = new DOMXPath($doc);
- $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
+ $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]');
if ( $rules->length > 0 ) {
$child = $rules->item(0);
$parent = $child->parentNode;
$xpath = new DOMXPath($doc);
// First check if the rule already exists as in that case there is no need to re-add it
- $wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
+ $wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]');
if ( $wordpress_rules->length > 0 )
return true;
* @since 3.0.0
*
* @global array $_wp_admin_css_colors
+ *
+ * @param int $user_id User ID.
*/
function admin_color_scheme_picker( $user_id ) {
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' => '#00a0d2', 'current' => '#fff' );
+ $icon_colors = array( 'base' => '#82878c', 'focus' => '#00a0d2', 'current' => '#fff' );
}
echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ) ) . ";</script>\n";
* Check lock status for posts displayed on the Posts screen
*
* @since 3.6.0
+ *
+ * @param array $response The Heartbeat response.
+ * @param array $data The $_POST data sent.
+ * @param string $screen_id The screen id.
+ * @return array The Heartbeat response.
*/
function wp_check_locked_posts( $response, $data, $screen_id ) {
$checked = array();
* Check lock status on the New/Edit Post screen and refresh the lock
*
* @since 3.6.0
+ *
+ * @param array $response The Heartbeat response.
+ * @param array $data The $_POST data sent.
+ * @param string $screen_id The screen id.
+ * @return array The Heartbeat response.
*/
function wp_refresh_post_lock( $response, $data, $screen_id ) {
if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) {
* Check nonce expiration on the New/Edit Post screen and refresh if needed
*
* @since 3.6.0
+ *
+ * @param array $response The Heartbeat response.
+ * @param array $data The $_POST data sent.
+ * @param string $screen_id The screen id.
+ * @return array The Heartbeat response.
*/
function wp_refresh_post_nonces( $response, $data, $screen_id ) {
if ( array_key_exists( 'wp-refresh-post-nonces', $data ) ) {
* Autosave with heartbeat
*
* @since 3.9.0
+ *
+ * @param array $response The Heartbeat response.
+ * @param array $data The $_POST data sent.
+ * @return array The Heartbeat response.
*/
function heartbeat_autosave( $response, $data ) {
if ( ! empty( $data['wp_autosave'] ) ) {
} elseif ( empty( $saved ) ) {
$response['wp_autosave'] = array( 'success' => false, 'message' => __( 'Error while saving.' ) );
} else {
- /* translators: draft saved date format, see http://php.net/date */
+ /* translators: draft saved date format, see https://secure.php.net/date */
$draft_saved_date_format = __( 'g:i:s a' );
/* translators: %s: date and time */
$response['wp_autosave'] = array( 'success' => true, 'message' => sprintf( __( 'Draft saved at %s.' ), date_i18n( $draft_saved_date_format ) ) );
return $response;
}
-/**
- * Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers,
- * as they disregard the autocomplete setting on the editor textarea. That can break the editor
- * when the user navigates to it with the browser's Back button. See #28037
- *
- * @since 4.0.0
- *
- * @global bool $is_safari
- * @global bool $is_chrome
- */
-function post_form_autocomplete_off() {
- global $is_safari, $is_chrome;
-
- if ( $is_safari || $is_chrome ) {
- echo ' autocomplete="off"';
- }
-}
-
/**
* Remove single-use URL parameters and create canonical link based on new URL.
*
</script>
<?php
}
+
+/**
+ * Outputs JS that reloads the page if the user navigated to it with the Back or Forward button.
+ *
+ * Used on the Edit Post and Add New Post screens. Needed to ensure the page is not loaded from browser cache,
+ * so the post title and editor content are the last saved versions. Ideally this script should run first in the head.
+ *
+ * @since 4.6.0
+ */
+function wp_page_reload_on_back_button_js() {
+ ?>
+ <script>
+ if ( typeof performance !== 'undefined' && performance.navigation && performance.navigation.type === 2 ) {
+ document.location.reload( true );
+ }
+ </script>
+ <?php
+}