Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu...
File: functions.php
echo '<p class="button-container">';
[8500] Fix | Delete
printf(
[8501] Fix | Delete
'<a class="button button-primary" href="%1$s" target="_blank" rel="noopener">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
[8502] Fix | Delete
esc_url( $direct_update_url ),
[8503] Fix | Delete
__( 'Update PHP' ),
[8504] Fix | Delete
/* translators: Hidden accessibility text. */
[8505] Fix | Delete
__( '(opens in a new tab)' )
[8506] Fix | Delete
);
[8507] Fix | Delete
echo '</p>';
[8508] Fix | Delete
}
[8509] Fix | Delete
[8510] Fix | Delete
/**
[8511] Fix | Delete
* Gets the URL to learn more about updating the site to use HTTPS.
[8512] Fix | Delete
*
[8513] Fix | Delete
* This URL can be overridden by specifying an environment variable `WP_UPDATE_HTTPS_URL` or by using the
[8514] Fix | Delete
* {@see 'wp_update_https_url'} filter. Providing an empty string is not allowed and will result in the
[8515] Fix | Delete
* default URL being used. Furthermore the page the URL links to should preferably be localized in the
[8516] Fix | Delete
* site language.
[8517] Fix | Delete
*
[8518] Fix | Delete
* @since 5.7.0
[8519] Fix | Delete
*
[8520] Fix | Delete
* @return string URL to learn more about updating to HTTPS.
[8521] Fix | Delete
*/
[8522] Fix | Delete
function wp_get_update_https_url() {
[8523] Fix | Delete
$default_url = wp_get_default_update_https_url();
[8524] Fix | Delete
[8525] Fix | Delete
$update_url = $default_url;
[8526] Fix | Delete
if ( false !== getenv( 'WP_UPDATE_HTTPS_URL' ) ) {
[8527] Fix | Delete
$update_url = getenv( 'WP_UPDATE_HTTPS_URL' );
[8528] Fix | Delete
}
[8529] Fix | Delete
[8530] Fix | Delete
/**
[8531] Fix | Delete
* Filters the URL to learn more about updating the HTTPS version the site is running on.
[8532] Fix | Delete
*
[8533] Fix | Delete
* Providing an empty string is not allowed and will result in the default URL being used. Furthermore
[8534] Fix | Delete
* the page the URL links to should preferably be localized in the site language.
[8535] Fix | Delete
*
[8536] Fix | Delete
* @since 5.7.0
[8537] Fix | Delete
*
[8538] Fix | Delete
* @param string $update_url URL to learn more about updating HTTPS.
[8539] Fix | Delete
*/
[8540] Fix | Delete
$update_url = apply_filters( 'wp_update_https_url', $update_url );
[8541] Fix | Delete
if ( empty( $update_url ) ) {
[8542] Fix | Delete
$update_url = $default_url;
[8543] Fix | Delete
}
[8544] Fix | Delete
[8545] Fix | Delete
return $update_url;
[8546] Fix | Delete
}
[8547] Fix | Delete
[8548] Fix | Delete
/**
[8549] Fix | Delete
* Gets the default URL to learn more about updating the site to use HTTPS.
[8550] Fix | Delete
*
[8551] Fix | Delete
* Do not use this function to retrieve this URL. Instead, use {@see wp_get_update_https_url()} when relying on the URL.
[8552] Fix | Delete
* This function does not allow modifying the returned URL, and is only used to compare the actually used URL with the
[8553] Fix | Delete
* default one.
[8554] Fix | Delete
*
[8555] Fix | Delete
* @since 5.7.0
[8556] Fix | Delete
* @access private
[8557] Fix | Delete
*
[8558] Fix | Delete
* @return string Default URL to learn more about updating to HTTPS.
[8559] Fix | Delete
*/
[8560] Fix | Delete
function wp_get_default_update_https_url() {
[8561] Fix | Delete
/* translators: Documentation explaining HTTPS and why it should be used. */
[8562] Fix | Delete
return __( 'https://developer.wordpress.org/advanced-administration/security/https/' );
[8563] Fix | Delete
}
[8564] Fix | Delete
[8565] Fix | Delete
/**
[8566] Fix | Delete
* Gets the URL for directly updating the site to use HTTPS.
[8567] Fix | Delete
*
[8568] Fix | Delete
* A URL will only be returned if the `WP_DIRECT_UPDATE_HTTPS_URL` environment variable is specified or
[8569] Fix | Delete
* by using the {@see 'wp_direct_update_https_url'} filter. This allows hosts to send users directly to
[8570] Fix | Delete
* the page where they can update their site to use HTTPS.
[8571] Fix | Delete
*
[8572] Fix | Delete
* @since 5.7.0
[8573] Fix | Delete
*
[8574] Fix | Delete
* @return string URL for directly updating to HTTPS or empty string.
[8575] Fix | Delete
*/
[8576] Fix | Delete
function wp_get_direct_update_https_url() {
[8577] Fix | Delete
$direct_update_url = '';
[8578] Fix | Delete
[8579] Fix | Delete
if ( false !== getenv( 'WP_DIRECT_UPDATE_HTTPS_URL' ) ) {
[8580] Fix | Delete
$direct_update_url = getenv( 'WP_DIRECT_UPDATE_HTTPS_URL' );
[8581] Fix | Delete
}
[8582] Fix | Delete
[8583] Fix | Delete
/**
[8584] Fix | Delete
* Filters the URL for directly updating the PHP version the site is running on from the host.
[8585] Fix | Delete
*
[8586] Fix | Delete
* @since 5.7.0
[8587] Fix | Delete
*
[8588] Fix | Delete
* @param string $direct_update_url URL for directly updating PHP.
[8589] Fix | Delete
*/
[8590] Fix | Delete
$direct_update_url = apply_filters( 'wp_direct_update_https_url', $direct_update_url );
[8591] Fix | Delete
[8592] Fix | Delete
return $direct_update_url;
[8593] Fix | Delete
}
[8594] Fix | Delete
[8595] Fix | Delete
/**
[8596] Fix | Delete
* Gets the size of a directory.
[8597] Fix | Delete
*
[8598] Fix | Delete
* A helper function that is used primarily to check whether
[8599] Fix | Delete
* a blog has exceeded its allowed upload space.
[8600] Fix | Delete
*
[8601] Fix | Delete
* @since MU (3.0.0)
[8602] Fix | Delete
* @since 5.2.0 $max_execution_time parameter added.
[8603] Fix | Delete
*
[8604] Fix | Delete
* @param string $directory Full path of a directory.
[8605] Fix | Delete
* @param int $max_execution_time Maximum time to run before giving up. In seconds.
[8606] Fix | Delete
* The timeout is global and is measured from the moment WordPress started to load.
[8607] Fix | Delete
* @return int|false|null Size in bytes if a valid directory. False if not. Null if timeout.
[8608] Fix | Delete
*/
[8609] Fix | Delete
function get_dirsize( $directory, $max_execution_time = null ) {
[8610] Fix | Delete
[8611] Fix | Delete
/*
[8612] Fix | Delete
* Exclude individual site directories from the total when checking the main site of a network,
[8613] Fix | Delete
* as they are subdirectories and should not be counted.
[8614] Fix | Delete
*/
[8615] Fix | Delete
if ( is_multisite() && is_main_site() ) {
[8616] Fix | Delete
$size = recurse_dirsize( $directory, $directory . '/sites', $max_execution_time );
[8617] Fix | Delete
} else {
[8618] Fix | Delete
$size = recurse_dirsize( $directory, null, $max_execution_time );
[8619] Fix | Delete
}
[8620] Fix | Delete
[8621] Fix | Delete
return $size;
[8622] Fix | Delete
}
[8623] Fix | Delete
[8624] Fix | Delete
/**
[8625] Fix | Delete
* Gets the size of a directory recursively.
[8626] Fix | Delete
*
[8627] Fix | Delete
* Used by get_dirsize() to get a directory size when it contains other directories.
[8628] Fix | Delete
*
[8629] Fix | Delete
* @since MU (3.0.0)
[8630] Fix | Delete
* @since 4.3.0 The `$exclude` parameter was added.
[8631] Fix | Delete
* @since 5.2.0 The `$max_execution_time` parameter was added.
[8632] Fix | Delete
* @since 5.6.0 The `$directory_cache` parameter was added.
[8633] Fix | Delete
*
[8634] Fix | Delete
* @param string $directory Full path of a directory.
[8635] Fix | Delete
* @param string|string[] $exclude Optional. Full path of a subdirectory to exclude from the total,
[8636] Fix | Delete
* or array of paths. Expected without trailing slash(es).
[8637] Fix | Delete
* Default null.
[8638] Fix | Delete
* @param int $max_execution_time Optional. Maximum time to run before giving up. In seconds.
[8639] Fix | Delete
* The timeout is global and is measured from the moment
[8640] Fix | Delete
* WordPress started to load. Defaults to the value of
[8641] Fix | Delete
* `max_execution_time` PHP setting.
[8642] Fix | Delete
* @param array $directory_cache Optional. Array of cached directory paths.
[8643] Fix | Delete
* Defaults to the value of `dirsize_cache` transient.
[8644] Fix | Delete
* @return int|false|null Size in bytes if a valid directory. False if not. Null if timeout.
[8645] Fix | Delete
*/
[8646] Fix | Delete
function recurse_dirsize( $directory, $exclude = null, $max_execution_time = null, &$directory_cache = null ) {
[8647] Fix | Delete
$directory = untrailingslashit( $directory );
[8648] Fix | Delete
$save_cache = false;
[8649] Fix | Delete
[8650] Fix | Delete
if ( ! isset( $directory_cache ) ) {
[8651] Fix | Delete
$directory_cache = get_transient( 'dirsize_cache' );
[8652] Fix | Delete
$save_cache = true;
[8653] Fix | Delete
}
[8654] Fix | Delete
[8655] Fix | Delete
if ( isset( $directory_cache[ $directory ] ) && is_int( $directory_cache[ $directory ] ) ) {
[8656] Fix | Delete
return $directory_cache[ $directory ];
[8657] Fix | Delete
}
[8658] Fix | Delete
[8659] Fix | Delete
if ( ! file_exists( $directory ) || ! is_dir( $directory ) || ! is_readable( $directory ) ) {
[8660] Fix | Delete
return false;
[8661] Fix | Delete
}
[8662] Fix | Delete
[8663] Fix | Delete
if (
[8664] Fix | Delete
( is_string( $exclude ) && $directory === $exclude ) ||
[8665] Fix | Delete
( is_array( $exclude ) && in_array( $directory, $exclude, true ) )
[8666] Fix | Delete
) {
[8667] Fix | Delete
return false;
[8668] Fix | Delete
}
[8669] Fix | Delete
[8670] Fix | Delete
if ( null === $max_execution_time ) {
[8671] Fix | Delete
// Keep the previous behavior but attempt to prevent fatal errors from timeout if possible.
[8672] Fix | Delete
if ( function_exists( 'ini_get' ) ) {
[8673] Fix | Delete
$max_execution_time = ini_get( 'max_execution_time' );
[8674] Fix | Delete
} else {
[8675] Fix | Delete
// Disable...
[8676] Fix | Delete
$max_execution_time = 0;
[8677] Fix | Delete
}
[8678] Fix | Delete
[8679] Fix | Delete
// Leave 1 second "buffer" for other operations if $max_execution_time has reasonable value.
[8680] Fix | Delete
if ( $max_execution_time > 10 ) {
[8681] Fix | Delete
$max_execution_time -= 1;
[8682] Fix | Delete
}
[8683] Fix | Delete
}
[8684] Fix | Delete
[8685] Fix | Delete
/**
[8686] Fix | Delete
* Filters the amount of storage space used by one directory and all its children, in megabytes.
[8687] Fix | Delete
*
[8688] Fix | Delete
* Return the actual used space to short-circuit the recursive PHP file size calculation
[8689] Fix | Delete
* and use something else, like a CDN API or native operating system tools for better performance.
[8690] Fix | Delete
*
[8691] Fix | Delete
* @since 5.6.0
[8692] Fix | Delete
*
[8693] Fix | Delete
* @param int|false $space_used The amount of used space, in bytes. Default false.
[8694] Fix | Delete
* @param string $directory Full path of a directory.
[8695] Fix | Delete
* @param string|string[]|null $exclude Full path of a subdirectory to exclude from the total,
[8696] Fix | Delete
* or array of paths.
[8697] Fix | Delete
* @param int $max_execution_time Maximum time to run before giving up. In seconds.
[8698] Fix | Delete
* @param array $directory_cache Array of cached directory paths.
[8699] Fix | Delete
*/
[8700] Fix | Delete
$size = apply_filters( 'pre_recurse_dirsize', false, $directory, $exclude, $max_execution_time, $directory_cache );
[8701] Fix | Delete
[8702] Fix | Delete
if ( false === $size ) {
[8703] Fix | Delete
$size = 0;
[8704] Fix | Delete
[8705] Fix | Delete
$handle = opendir( $directory );
[8706] Fix | Delete
if ( $handle ) {
[8707] Fix | Delete
while ( ( $file = readdir( $handle ) ) !== false ) {
[8708] Fix | Delete
$path = $directory . '/' . $file;
[8709] Fix | Delete
if ( '.' !== $file && '..' !== $file ) {
[8710] Fix | Delete
if ( is_file( $path ) ) {
[8711] Fix | Delete
$size += filesize( $path );
[8712] Fix | Delete
} elseif ( is_dir( $path ) ) {
[8713] Fix | Delete
$handlesize = recurse_dirsize( $path, $exclude, $max_execution_time, $directory_cache );
[8714] Fix | Delete
if ( $handlesize > 0 ) {
[8715] Fix | Delete
$size += $handlesize;
[8716] Fix | Delete
}
[8717] Fix | Delete
}
[8718] Fix | Delete
[8719] Fix | Delete
if ( $max_execution_time > 0 &&
[8720] Fix | Delete
( microtime( true ) - WP_START_TIMESTAMP ) > $max_execution_time
[8721] Fix | Delete
) {
[8722] Fix | Delete
// Time exceeded. Give up instead of risking a fatal timeout.
[8723] Fix | Delete
$size = null;
[8724] Fix | Delete
break;
[8725] Fix | Delete
}
[8726] Fix | Delete
}
[8727] Fix | Delete
}
[8728] Fix | Delete
closedir( $handle );
[8729] Fix | Delete
}
[8730] Fix | Delete
}
[8731] Fix | Delete
[8732] Fix | Delete
if ( ! is_array( $directory_cache ) ) {
[8733] Fix | Delete
$directory_cache = array();
[8734] Fix | Delete
}
[8735] Fix | Delete
[8736] Fix | Delete
$directory_cache[ $directory ] = $size;
[8737] Fix | Delete
[8738] Fix | Delete
// Only write the transient on the top level call and not on recursive calls.
[8739] Fix | Delete
if ( $save_cache ) {
[8740] Fix | Delete
$expiration = ( wp_using_ext_object_cache() ) ? 0 : 10 * YEAR_IN_SECONDS;
[8741] Fix | Delete
set_transient( 'dirsize_cache', $directory_cache, $expiration );
[8742] Fix | Delete
}
[8743] Fix | Delete
[8744] Fix | Delete
return $size;
[8745] Fix | Delete
}
[8746] Fix | Delete
[8747] Fix | Delete
/**
[8748] Fix | Delete
* Cleans directory size cache used by recurse_dirsize().
[8749] Fix | Delete
*
[8750] Fix | Delete
* Removes the current directory and all parent directories from the `dirsize_cache` transient.
[8751] Fix | Delete
*
[8752] Fix | Delete
* @since 5.6.0
[8753] Fix | Delete
* @since 5.9.0 Added input validation with a notice for invalid input.
[8754] Fix | Delete
*
[8755] Fix | Delete
* @param string $path Full path of a directory or file.
[8756] Fix | Delete
*/
[8757] Fix | Delete
function clean_dirsize_cache( $path ) {
[8758] Fix | Delete
if ( ! is_string( $path ) || empty( $path ) ) {
[8759] Fix | Delete
wp_trigger_error(
[8760] Fix | Delete
'',
[8761] Fix | Delete
sprintf(
[8762] Fix | Delete
/* translators: 1: Function name, 2: A variable type, like "boolean" or "integer". */
[8763] Fix | Delete
__( '%1$s only accepts a non-empty path string, received %2$s.' ),
[8764] Fix | Delete
'<code>clean_dirsize_cache()</code>',
[8765] Fix | Delete
'<code>' . gettype( $path ) . '</code>'
[8766] Fix | Delete
)
[8767] Fix | Delete
);
[8768] Fix | Delete
return;
[8769] Fix | Delete
}
[8770] Fix | Delete
[8771] Fix | Delete
$directory_cache = get_transient( 'dirsize_cache' );
[8772] Fix | Delete
[8773] Fix | Delete
if ( empty( $directory_cache ) ) {
[8774] Fix | Delete
return;
[8775] Fix | Delete
}
[8776] Fix | Delete
[8777] Fix | Delete
$expiration = ( wp_using_ext_object_cache() ) ? 0 : 10 * YEAR_IN_SECONDS;
[8778] Fix | Delete
if (
[8779] Fix | Delete
! str_contains( $path, '/' ) &&
[8780] Fix | Delete
! str_contains( $path, '\\' )
[8781] Fix | Delete
) {
[8782] Fix | Delete
unset( $directory_cache[ $path ] );
[8783] Fix | Delete
set_transient( 'dirsize_cache', $directory_cache, $expiration );
[8784] Fix | Delete
return;
[8785] Fix | Delete
}
[8786] Fix | Delete
[8787] Fix | Delete
$last_path = null;
[8788] Fix | Delete
$path = untrailingslashit( $path );
[8789] Fix | Delete
unset( $directory_cache[ $path ] );
[8790] Fix | Delete
[8791] Fix | Delete
while (
[8792] Fix | Delete
$last_path !== $path &&
[8793] Fix | Delete
DIRECTORY_SEPARATOR !== $path &&
[8794] Fix | Delete
'.' !== $path &&
[8795] Fix | Delete
'..' !== $path
[8796] Fix | Delete
) {
[8797] Fix | Delete
$last_path = $path;
[8798] Fix | Delete
$path = dirname( $path );
[8799] Fix | Delete
unset( $directory_cache[ $path ] );
[8800] Fix | Delete
}
[8801] Fix | Delete
[8802] Fix | Delete
set_transient( 'dirsize_cache', $directory_cache, $expiration );
[8803] Fix | Delete
}
[8804] Fix | Delete
[8805] Fix | Delete
/**
[8806] Fix | Delete
* Checks compatibility with the current WordPress version.
[8807] Fix | Delete
*
[8808] Fix | Delete
* @since 5.2.0
[8809] Fix | Delete
*
[8810] Fix | Delete
* @global string $wp_version The WordPress version string.
[8811] Fix | Delete
*
[8812] Fix | Delete
* @param string $required Minimum required WordPress version.
[8813] Fix | Delete
* @return bool True if required version is compatible or empty, false if not.
[8814] Fix | Delete
*/
[8815] Fix | Delete
function is_wp_version_compatible( $required ) {
[8816] Fix | Delete
global $wp_version;
[8817] Fix | Delete
[8818] Fix | Delete
// Strip off any -alpha, -RC, -beta, -src suffixes.
[8819] Fix | Delete
list( $version ) = explode( '-', $wp_version );
[8820] Fix | Delete
[8821] Fix | Delete
if ( is_string( $required ) ) {
[8822] Fix | Delete
$trimmed = trim( $required );
[8823] Fix | Delete
[8824] Fix | Delete
if ( substr_count( $trimmed, '.' ) > 1 && str_ends_with( $trimmed, '.0' ) ) {
[8825] Fix | Delete
$required = substr( $trimmed, 0, -2 );
[8826] Fix | Delete
}
[8827] Fix | Delete
}
[8828] Fix | Delete
[8829] Fix | Delete
return empty( $required ) || version_compare( $version, $required, '>=' );
[8830] Fix | Delete
}
[8831] Fix | Delete
[8832] Fix | Delete
/**
[8833] Fix | Delete
* Checks compatibility with the current PHP version.
[8834] Fix | Delete
*
[8835] Fix | Delete
* @since 5.2.0
[8836] Fix | Delete
*
[8837] Fix | Delete
* @param string $required Minimum required PHP version.
[8838] Fix | Delete
* @return bool True if required version is compatible or empty, false if not.
[8839] Fix | Delete
*/
[8840] Fix | Delete
function is_php_version_compatible( $required ) {
[8841] Fix | Delete
return empty( $required ) || version_compare( PHP_VERSION, $required, '>=' );
[8842] Fix | Delete
}
[8843] Fix | Delete
[8844] Fix | Delete
/**
[8845] Fix | Delete
* Checks if two numbers are nearly the same.
[8846] Fix | Delete
*
[8847] Fix | Delete
* This is similar to using `round()` but the precision is more fine-grained.
[8848] Fix | Delete
*
[8849] Fix | Delete
* @since 5.3.0
[8850] Fix | Delete
*
[8851] Fix | Delete
* @param int|float $expected The expected value.
[8852] Fix | Delete
* @param int|float $actual The actual number.
[8853] Fix | Delete
* @param int|float $precision Optional. The allowed variation. Default 1.
[8854] Fix | Delete
* @return bool Whether the numbers match within the specified precision.
[8855] Fix | Delete
*/
[8856] Fix | Delete
function wp_fuzzy_number_match( $expected, $actual, $precision = 1 ) {
[8857] Fix | Delete
return abs( (float) $expected - (float) $actual ) <= $precision;
[8858] Fix | Delete
}
[8859] Fix | Delete
[8860] Fix | Delete
/**
[8861] Fix | Delete
* Creates and returns the markup for an admin notice.
[8862] Fix | Delete
*
[8863] Fix | Delete
* @since 6.4.0
[8864] Fix | Delete
*
[8865] Fix | Delete
* @param string $message The message.
[8866] Fix | Delete
* @param array $args {
[8867] Fix | Delete
* Optional. An array of arguments for the admin notice. Default empty array.
[8868] Fix | Delete
*
[8869] Fix | Delete
* @type string $type Optional. The type of admin notice.
[8870] Fix | Delete
* For example, 'error', 'success', 'warning', 'info'.
[8871] Fix | Delete
* Default empty string.
[8872] Fix | Delete
* @type bool $dismissible Optional. Whether the admin notice is dismissible. Default false.
[8873] Fix | Delete
* @type string $id Optional. The value of the admin notice's ID attribute. Default empty string.
[8874] Fix | Delete
* @type string[] $additional_classes Optional. A string array of class names. Default empty array.
[8875] Fix | Delete
* @type string[] $attributes Optional. Additional attributes for the notice div. Default empty array.
[8876] Fix | Delete
* @type bool $paragraph_wrap Optional. Whether to wrap the message in paragraph tags. Default true.
[8877] Fix | Delete
* }
[8878] Fix | Delete
* @return string The markup for an admin notice.
[8879] Fix | Delete
*/
[8880] Fix | Delete
function wp_get_admin_notice( $message, $args = array() ) {
[8881] Fix | Delete
$defaults = array(
[8882] Fix | Delete
'type' => '',
[8883] Fix | Delete
'dismissible' => false,
[8884] Fix | Delete
'id' => '',
[8885] Fix | Delete
'additional_classes' => array(),
[8886] Fix | Delete
'attributes' => array(),
[8887] Fix | Delete
'paragraph_wrap' => true,
[8888] Fix | Delete
);
[8889] Fix | Delete
[8890] Fix | Delete
$args = wp_parse_args( $args, $defaults );
[8891] Fix | Delete
[8892] Fix | Delete
/**
[8893] Fix | Delete
* Filters the arguments for an admin notice.
[8894] Fix | Delete
*
[8895] Fix | Delete
* @since 6.4.0
[8896] Fix | Delete
*
[8897] Fix | Delete
* @param array $args The arguments for the admin notice.
[8898] Fix | Delete
* @param string $message The message for the admin notice.
[8899] Fix | Delete
*/
[8900] Fix | Delete
$args = apply_filters( 'wp_admin_notice_args', $args, $message );
[8901] Fix | Delete
$id = '';
[8902] Fix | Delete
$classes = 'notice';
[8903] Fix | Delete
$attributes = '';
[8904] Fix | Delete
[8905] Fix | Delete
if ( is_string( $args['id'] ) ) {
[8906] Fix | Delete
$trimmed_id = trim( $args['id'] );
[8907] Fix | Delete
[8908] Fix | Delete
if ( '' !== $trimmed_id ) {
[8909] Fix | Delete
$id = 'id="' . $trimmed_id . '" ';
[8910] Fix | Delete
}
[8911] Fix | Delete
}
[8912] Fix | Delete
[8913] Fix | Delete
if ( is_string( $args['type'] ) ) {
[8914] Fix | Delete
$type = trim( $args['type'] );
[8915] Fix | Delete
[8916] Fix | Delete
if ( str_contains( $type, ' ' ) ) {
[8917] Fix | Delete
_doing_it_wrong(
[8918] Fix | Delete
__FUNCTION__,
[8919] Fix | Delete
sprintf(
[8920] Fix | Delete
/* translators: %s: The "type" key. */
[8921] Fix | Delete
__( 'The %s key must be a string without spaces.' ),
[8922] Fix | Delete
'<code>type</code>'
[8923] Fix | Delete
),
[8924] Fix | Delete
'6.4.0'
[8925] Fix | Delete
);
[8926] Fix | Delete
}
[8927] Fix | Delete
[8928] Fix | Delete
if ( '' !== $type ) {
[8929] Fix | Delete
$classes .= ' notice-' . $type;
[8930] Fix | Delete
}
[8931] Fix | Delete
}
[8932] Fix | Delete
[8933] Fix | Delete
if ( true === $args['dismissible'] ) {
[8934] Fix | Delete
$classes .= ' is-dismissible';
[8935] Fix | Delete
}
[8936] Fix | Delete
[8937] Fix | Delete
if ( is_array( $args['additional_classes'] ) && ! empty( $args['additional_classes'] ) ) {
[8938] Fix | Delete
$classes .= ' ' . implode( ' ', $args['additional_classes'] );
[8939] Fix | Delete
}
[8940] Fix | Delete
[8941] Fix | Delete
if ( is_array( $args['attributes'] ) && ! empty( $args['attributes'] ) ) {
[8942] Fix | Delete
$attributes = '';
[8943] Fix | Delete
foreach ( $args['attributes'] as $attr => $val ) {
[8944] Fix | Delete
if ( is_bool( $val ) ) {
[8945] Fix | Delete
$attributes .= $val ? ' ' . $attr : '';
[8946] Fix | Delete
} elseif ( is_int( $attr ) ) {
[8947] Fix | Delete
$attributes .= ' ' . esc_attr( trim( $val ) );
[8948] Fix | Delete
} elseif ( $val ) {
[8949] Fix | Delete
$attributes .= ' ' . $attr . '="' . esc_attr( trim( $val ) ) . '"';
[8950] Fix | Delete
}
[8951] Fix | Delete
}
[8952] Fix | Delete
}
[8953] Fix | Delete
[8954] Fix | Delete
if ( false !== $args['paragraph_wrap'] ) {
[8955] Fix | Delete
$message = "<p>$message</p>";
[8956] Fix | Delete
}
[8957] Fix | Delete
[8958] Fix | Delete
$markup = sprintf( '<div %1$sclass="%2$s"%3$s>%4$s</div>', $id, $classes, $attributes, $message );
[8959] Fix | Delete
[8960] Fix | Delete
/**
[8961] Fix | Delete
* Filters the markup for an admin notice.
[8962] Fix | Delete
*
[8963] Fix | Delete
* @since 6.4.0
[8964] Fix | Delete
*
[8965] Fix | Delete
* @param string $markup The HTML markup for the admin notice.
[8966] Fix | Delete
* @param string $message The message for the admin notice.
[8967] Fix | Delete
* @param array $args The arguments for the admin notice.
[8968] Fix | Delete
*/
[8969] Fix | Delete
return apply_filters( 'wp_admin_notice_markup', $markup, $message, $args );
[8970] Fix | Delete
}
[8971] Fix | Delete
[8972] Fix | Delete
/**
[8973] Fix | Delete
* Outputs an admin notice.
[8974] Fix | Delete
*
[8975] Fix | Delete
* @since 6.4.0
[8976] Fix | Delete
*
[8977] Fix | Delete
* @param string $message The message to output.
[8978] Fix | Delete
* @param array $args {
[8979] Fix | Delete
* Optional. An array of arguments for the admin notice. Default empty array.
[8980] Fix | Delete
*
[8981] Fix | Delete
* @type string $type Optional. The type of admin notice.
[8982] Fix | Delete
* For example, 'error', 'success', 'warning', 'info'.
[8983] Fix | Delete
* Default empty string.
[8984] Fix | Delete
* @type bool $dismissible Optional. Whether the admin notice is dismissible. Default false.
[8985] Fix | Delete
* @type string $id Optional. The value of the admin notice's ID attribute. Default empty string.
[8986] Fix | Delete
* @type string[] $additional_classes Optional. A string array of class names. Default empty array.
[8987] Fix | Delete
* @type string[] $attributes Optional. Additional attributes for the notice div. Default empty array.
[8988] Fix | Delete
* @type bool $paragraph_wrap Optional. Whether to wrap the message in paragraph tags. Default true.
[8989] Fix | Delete
* }
[8990] Fix | Delete
*/
[8991] Fix | Delete
function wp_admin_notice( $message, $args = array() ) {
[8992] Fix | Delete
/**
[8993] Fix | Delete
* Fires before an admin notice is output.
[8994] Fix | Delete
*
[8995] Fix | Delete
* @since 6.4.0
[8996] Fix | Delete
*
[8997] Fix | Delete
* @param string $message The message for the admin notice.
[8998] Fix | Delete
* @param array $args The arguments for the admin notice.
[8999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function