WordPress.org

Make WordPress Core

Ticket #6481: 6481.8.diff

File 6481.8.diff, 2.6 KB (added by DrewAPicture, 6 years ago)

syntax

  • src/wp-admin/includes/schema.php

     
    397397        'links_updated_date_format' => __('F j, Y g:i a'),
    398398        'comment_moderation' => 0,
    399399        'moderation_notify' => 1,
    400         'permalink_structure' => '',
     400        'permalink_structure' => '/%year%/%monthnum%/%day%/%postname%/',
    401401        'gzipcompression' => 0,
    402402        'hack_file' => 0,
    403403        'blog_charset' => 'UTF-8',
     
    495495        if ( is_multisite() ) {
    496496                /* translators: blog tagline */
    497497                $options[ 'blogdescription' ] = sprintf(__('Just another %s site'), get_current_site()->site_name );
    498                 $options[ 'permalink_structure' ] = '/%year%/%monthnum%/%day%/%postname%/';
    499498        }
    500499
    501500        // Set autoload to no for these options
  • src/wp-admin/includes/upgrade.php

     
    8787
    8888        wp_install_defaults($user_id);
    8989
     90        wp_install_verify_pretty_permalinks();
     91
    9092        flush_rewrite_rules();
    9193
    9294        wp_new_blog_notification($blog_title, $guessurl, $user_id, ($email_password ? $user_password : __('The password you chose during the install.') ) );
     
    260262}
    261263endif;
    262264
     265if ( ! function_exists( 'wp_install_verify_pretty_permalinks' ) ) :
     266/**
     267 * Verify pretty permalinks.
     268 *
     269 * This function will verify that pretty permalinks work. If pretty permalinks
     270 * fail to work, the web-server will fall back to ugly permalinks by setting
     271 * an empty permalink structure.
     272 *
     273 * @since 4.2.0
     274 *
     275 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
     276 */
     277function wp_install_verify_pretty_permalinks() {
     278        global $wp_rewrite;
     279
     280        /*
     281         * Flush rules with the hard option to force refresh of the web-server's
     282         * rewrite config file (e.g. .htaccess or web.config).
     283         */
     284        $wp_rewrite->flush_rules( true );
     285
     286        /*
     287         * Send a HEAD request to a random page on the site, and check whether
     288         * the 'x-pingback' header is returned as expected.
     289         */
     290        $response          = wp_remote_get( site_url( '/some-random-404-page/' ) );
     291        $x_pingback_header = wp_remote_retrieve_header( $response, 'x-pingback' );
     292        $pretty_permalinks = $x_pingback_header && $x_pingback_header === get_bloginfo( 'pingback_url' );
     293
     294        // Set an empty permalink structure to make it ugly again.
     295        if ( ! $pretty_permalinks ) {
     296                $wp_rewrite->set_permalink_structure('');
     297        }
     298}
     299endif;
     300
    263301if ( !function_exists('wp_new_blog_notification') ) :
    264302/**
    265303 * {@internal Missing Short Description}}