[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/ -> default-constants.php (source)

   1  <?php
   2  /**
   3   * Defines constants and global variables that can be overridden, generally in wp-config.php.
   4   *
   5   * @package WordPress
   6   */
   7  
   8  /**
   9   * Defines initial WordPress constants.
  10   *
  11   * @see wp_debug_mode()
  12   *
  13   * @since 3.0.0
  14   *
  15   * @global int    $blog_id    The current site ID.
  16   * @global string $wp_version The WordPress version string.
  17   */
  18  function wp_initial_constants() {
  19      global $blog_id, $wp_version;
  20  
  21      /**#@+
  22       * Constants for expressing human-readable data sizes in their respective number of bytes.
  23       *
  24       * @since 4.4.0
  25       */
  26      define( 'KB_IN_BYTES', 1024 );
  27      define( 'MB_IN_BYTES', 1024 * KB_IN_BYTES );
  28      define( 'GB_IN_BYTES', 1024 * MB_IN_BYTES );
  29      define( 'TB_IN_BYTES', 1024 * GB_IN_BYTES );
  30      /**#@-*/
  31  
  32      // Start of run timestamp.
  33      if ( ! defined( 'WP_START_TIMESTAMP' ) ) {
  34          define( 'WP_START_TIMESTAMP', microtime( true ) );
  35      }
  36  
  37      $current_limit     = ini_get( 'memory_limit' );
  38      $current_limit_int = wp_convert_hr_to_bytes( $current_limit );
  39  
  40      // Define memory limits.
  41      if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
  42          if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
  43              define( 'WP_MEMORY_LIMIT', $current_limit );
  44          } elseif ( is_multisite() ) {
  45              define( 'WP_MEMORY_LIMIT', '64M' );
  46          } else {
  47              define( 'WP_MEMORY_LIMIT', '40M' );
  48          }
  49      }
  50  
  51      if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
  52          if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
  53              define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
  54          } elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) {
  55              define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
  56          } else {
  57              define( 'WP_MAX_MEMORY_LIMIT', '256M' );
  58          }
  59      }
  60  
  61      // Set memory limits.
  62      $wp_limit_int = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT );
  63      if ( -1 !== $current_limit_int && ( -1 === $wp_limit_int || $wp_limit_int > $current_limit_int ) ) {
  64          ini_set( 'memory_limit', WP_MEMORY_LIMIT );
  65      }
  66  
  67      if ( ! isset( $blog_id ) ) {
  68          $blog_id = 1;
  69      }
  70  
  71      if ( ! defined( 'WP_CONTENT_DIR' ) ) {
  72          define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // No trailing slash, full paths only - WP_CONTENT_URL is defined further down.
  73      }
  74  
  75      // Add define( 'WP_DEBUG', true ); to wp-config.php to enable display of notices during development.
  76      if ( ! defined( 'WP_DEBUG' ) ) {
  77          if ( 'development' === wp_get_environment_type() ) {
  78              define( 'WP_DEBUG', true );
  79          } else {
  80              define( 'WP_DEBUG', false );
  81          }
  82      }
  83  
  84      // Add define( 'WP_DEBUG_DISPLAY', null ); to wp-config.php to use the globally configured setting
  85      // for 'display_errors' and not force errors to be displayed. Use false to force 'display_errors' off.
  86      if ( ! defined( 'WP_DEBUG_DISPLAY' ) ) {
  87          define( 'WP_DEBUG_DISPLAY', true );
  88      }
  89  
  90      // Add define( 'WP_DEBUG_LOG', true ); to enable error logging to wp-content/debug.log.
  91      if ( ! defined( 'WP_DEBUG_LOG' ) ) {
  92          define( 'WP_DEBUG_LOG', false );
  93      }
  94  
  95      if ( ! defined( 'WP_CACHE' ) ) {
  96          define( 'WP_CACHE', false );
  97      }
  98  
  99      // Add define( 'SCRIPT_DEBUG', true ); to wp-config.php to enable loading of non-minified,
 100      // non-concatenated scripts and stylesheets.
 101      if ( ! defined( 'SCRIPT_DEBUG' ) ) {
 102          if ( ! empty( $wp_version ) ) {
 103              $develop_src = false !== strpos( $wp_version, '-src' );
 104          } else {
 105              $develop_src = false;
 106          }
 107  
 108          define( 'SCRIPT_DEBUG', $develop_src );
 109      }
 110  
 111      /**
 112       * Private
 113       */
 114      if ( ! defined( 'MEDIA_TRASH' ) ) {
 115          define( 'MEDIA_TRASH', false );
 116      }
 117  
 118      if ( ! defined( 'SHORTINIT' ) ) {
 119          define( 'SHORTINIT', false );
 120      }
 121  
 122      // Constants for features added to WP that should short-circuit their plugin implementations.
 123      define( 'WP_FEATURE_BETTER_PASSWORDS', true );
 124  
 125      /**#@+
 126       * Constants for expressing human-readable intervals
 127       * in their respective number of seconds.
 128       *
 129       * Please note that these values are approximate and are provided for convenience.
 130       * For example, MONTH_IN_SECONDS wrongly assumes every month has 30 days and
 131       * YEAR_IN_SECONDS does not take leap years into account.
 132       *
 133       * If you need more accuracy please consider using the DateTime class (https://www.php.net/manual/en/class.datetime.php).
 134       *
 135       * @since 3.5.0
 136       * @since 4.4.0 Introduced `MONTH_IN_SECONDS`.
 137       */
 138      define( 'MINUTE_IN_SECONDS', 60 );
 139      define( 'HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS );
 140      define( 'DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS );
 141      define( 'WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS );
 142      define( 'MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS );
 143      define( 'YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS );
 144      /**#@-*/
 145  }
 146  
 147  /**
 148   * Defines plugin directory WordPress constants.
 149   *
 150   * Defines must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
 151   *
 152   * @since 3.0.0
 153   */
 154  function wp_plugin_directory_constants() {
 155      if ( ! defined( 'WP_CONTENT_URL' ) ) {
 156          define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' ); // Full URL - WP_CONTENT_DIR is defined further up.
 157      }
 158  
 159      /**
 160       * Allows for the plugins directory to be moved from the default location.
 161       *
 162       * @since 2.6.0
 163       */
 164      if ( ! defined( 'WP_PLUGIN_DIR' ) ) {
 165          define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' ); // Full path, no trailing slash.
 166      }
 167  
 168      /**
 169       * Allows for the plugins directory to be moved from the default location.
 170       *
 171       * @since 2.6.0
 172       */
 173      if ( ! defined( 'WP_PLUGIN_URL' ) ) {
 174          define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' ); // Full URL, no trailing slash.
 175      }
 176  
 177      /**
 178       * Allows for the plugins directory to be moved from the default location.
 179       *
 180       * @since 2.1.0
 181       * @deprecated
 182       */
 183      if ( ! defined( 'PLUGINDIR' ) ) {
 184          define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH. For back compat.
 185      }
 186  
 187      /**
 188       * Allows for the mu-plugins directory to be moved from the default location.
 189       *
 190       * @since 2.8.0
 191       */
 192      if ( ! defined( 'WPMU_PLUGIN_DIR' ) ) {
 193          define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins' ); // Full path, no trailing slash.
 194      }
 195  
 196      /**
 197       * Allows for the mu-plugins directory to be moved from the default location.
 198       *
 199       * @since 2.8.0
 200       */
 201      if ( ! defined( 'WPMU_PLUGIN_URL' ) ) {
 202          define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/mu-plugins' ); // Full URL, no trailing slash.
 203      }
 204  
 205      /**
 206       * Allows for the mu-plugins directory to be moved from the default location.
 207       *
 208       * @since 2.8.0
 209       * @deprecated
 210       */
 211      if ( ! defined( 'MUPLUGINDIR' ) ) {
 212          define( 'MUPLUGINDIR', 'wp-content/mu-plugins' ); // Relative to ABSPATH. For back compat.
 213      }
 214  }
 215  
 216  /**
 217   * Defines cookie-related WordPress constants.
 218   *
 219   * Defines constants after multisite is loaded.
 220   *
 221   * @since 3.0.0
 222   */
 223  function wp_cookie_constants() {
 224      /**
 225       * Used to guarantee unique hash cookies.
 226       *
 227       * @since 1.5.0
 228       */
 229      if ( ! defined( 'COOKIEHASH' ) ) {
 230          $siteurl = get_site_option( 'siteurl' );
 231          if ( $siteurl ) {
 232              define( 'COOKIEHASH', md5( $siteurl ) );
 233          } else {
 234              define( 'COOKIEHASH', '' );
 235          }
 236      }
 237  
 238      /**
 239       * @since 2.0.0
 240       */
 241      if ( ! defined( 'USER_COOKIE' ) ) {
 242          define( 'USER_COOKIE', 'wordpressuser_' . COOKIEHASH );
 243      }
 244  
 245      /**
 246       * @since 2.0.0
 247       */
 248      if ( ! defined( 'PASS_COOKIE' ) ) {
 249          define( 'PASS_COOKIE', 'wordpresspass_' . COOKIEHASH );
 250      }
 251  
 252      /**
 253       * @since 2.5.0
 254       */
 255      if ( ! defined( 'AUTH_COOKIE' ) ) {
 256          define( 'AUTH_COOKIE', 'wordpress_' . COOKIEHASH );
 257      }
 258  
 259      /**
 260       * @since 2.6.0
 261       */
 262      if ( ! defined( 'SECURE_AUTH_COOKIE' ) ) {
 263          define( 'SECURE_AUTH_COOKIE', 'wordpress_sec_' . COOKIEHASH );
 264      }
 265  
 266      /**
 267       * @since 2.6.0
 268       */
 269      if ( ! defined( 'LOGGED_IN_COOKIE' ) ) {
 270          define( 'LOGGED_IN_COOKIE', 'wordpress_logged_in_' . COOKIEHASH );
 271      }
 272  
 273      /**
 274       * @since 2.3.0
 275       */
 276      if ( ! defined( 'TEST_COOKIE' ) ) {
 277          define( 'TEST_COOKIE', 'wordpress_test_cookie' );
 278      }
 279  
 280      /**
 281       * @since 1.2.0
 282       */
 283      if ( ! defined( 'COOKIEPATH' ) ) {
 284          define( 'COOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'home' ) . '/' ) );
 285      }
 286  
 287      /**
 288       * @since 1.5.0
 289       */
 290      if ( ! defined( 'SITECOOKIEPATH' ) ) {
 291          define( 'SITECOOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'siteurl' ) . '/' ) );
 292      }
 293  
 294      /**
 295       * @since 2.6.0
 296       */
 297      if ( ! defined( 'ADMIN_COOKIE_PATH' ) ) {
 298          define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
 299      }
 300  
 301      /**
 302       * @since 2.6.0
 303       */
 304      if ( ! defined( 'PLUGINS_COOKIE_PATH' ) ) {
 305          define( 'PLUGINS_COOKIE_PATH', preg_replace( '|https?://[^/]+|i', '', WP_PLUGIN_URL ) );
 306      }
 307  
 308      /**
 309       * @since 2.0.0
 310       */
 311      if ( ! defined( 'COOKIE_DOMAIN' ) ) {
 312          define( 'COOKIE_DOMAIN', false );
 313      }
 314  
 315      if ( ! defined( 'RECOVERY_MODE_COOKIE' ) ) {
 316          /**
 317           * @since 5.2.0
 318           */
 319          define( 'RECOVERY_MODE_COOKIE', 'wordpress_rec_' . COOKIEHASH );
 320      }
 321  }
 322  
 323  /**
 324   * Defines SSL-related WordPress constants.
 325   *
 326   * @since 3.0.0
 327   */
 328  function wp_ssl_constants() {
 329      /**
 330       * @since 2.6.0
 331       */
 332      if ( ! defined( 'FORCE_SSL_ADMIN' ) ) {
 333          if ( 'https' === parse_url( get_option( 'siteurl' ), PHP_URL_SCHEME ) ) {
 334              define( 'FORCE_SSL_ADMIN', true );
 335          } else {
 336              define( 'FORCE_SSL_ADMIN', false );
 337          }
 338      }
 339      force_ssl_admin( FORCE_SSL_ADMIN );
 340  
 341      /**
 342       * @since 2.6.0
 343       * @deprecated 4.0.0
 344       */
 345      if ( defined( 'FORCE_SSL_LOGIN' ) && FORCE_SSL_LOGIN ) {
 346          force_ssl_admin( true );
 347      }
 348  }
 349  
 350  /**
 351   * Defines functionality-related WordPress constants.
 352   *
 353   * @since 3.0.0
 354   */
 355  function wp_functionality_constants() {
 356      /**
 357       * @since 2.5.0
 358       */
 359      if ( ! defined( 'AUTOSAVE_INTERVAL' ) ) {
 360          define( 'AUTOSAVE_INTERVAL', MINUTE_IN_SECONDS );
 361      }
 362  
 363      /**
 364       * @since 2.9.0
 365       */
 366      if ( ! defined( 'EMPTY_TRASH_DAYS' ) ) {
 367          define( 'EMPTY_TRASH_DAYS', 30 );
 368      }
 369  
 370      if ( ! defined( 'WP_POST_REVISIONS' ) ) {
 371          define( 'WP_POST_REVISIONS', true );
 372      }
 373  
 374      /**
 375       * @since 3.3.0
 376       */
 377      if ( ! defined( 'WP_CRON_LOCK_TIMEOUT' ) ) {
 378          define( 'WP_CRON_LOCK_TIMEOUT', MINUTE_IN_SECONDS );
 379      }
 380  }
 381  
 382  /**
 383   * Defines templating-related WordPress constants.
 384   *
 385   * @since 3.0.0
 386   */
 387  function wp_templating_constants() {
 388      /**
 389       * Filesystem path to the current active template directory.
 390       *
 391       * @since 1.5.0
 392       */
 393      define( 'TEMPLATEPATH', get_template_directory() );
 394  
 395      /**
 396       * Filesystem path to the current active template stylesheet directory.
 397       *
 398       * @since 2.1.0
 399       */
 400      define( 'STYLESHEETPATH', get_stylesheet_directory() );
 401  
 402      /**
 403       * Slug of the default theme for this installation.
 404       * Used as the default theme when installing new sites.
 405       * It will be used as the fallback if the current theme doesn't exist.
 406       *
 407       * @since 3.0.0
 408       *
 409       * @see WP_Theme::get_core_default_theme()
 410       */
 411      if ( ! defined( 'WP_DEFAULT_THEME' ) ) {
 412          define( 'WP_DEFAULT_THEME', 'twentytwentyone' );
 413      }
 414  
 415  }


Generated: Sat Oct 24 01:00:04 2020 Cross-referenced by PHPXref 0.7.1