/home/altere25/sportzsoft.altereddigital.com/wp-includes
NameSizeModeActions
assets/-0755rm
block-patterns/-0755rm
block-supports/-0755rm
blocks/-0755rm
certificates/-0755rm
css/-0755rm
customize/-0755rm
fonts/-0755rm
html-api/-0755rm
ID3/-0755rm
images/-0755rm
IXR/-0755rm
js/-0755rm
php-compat/-0755rm
PHPMailer/-0755rm
pomo/-0755rm
Requests/-0755rm
rest-api/-0755rm
SimplePie/-0755rm
sitemaps/-0755rm
sodium_compat/-0755rm
style-engine/-0755rm
Text/-0755rm
theme-compat/-0755rm
widgets/-0755rm
.htaccess1780644editdlrm
admin-bar.php359960644editdlrm
atomlib.php119500644editdlrm
author-template.php189510644editdlrm
block-editor.php279230644editdlrm
block-i18n.json3160644editdlrm
block-patterns.php129420644editdlrm
block-template-utils.php484840644editdlrm
block-template.php122880644editdlrm
blocks.php728840644editdlrm
bookmark-template.php129090644editdlrm
bookmark.php153780644editdlrm
cache-compat.php59690644editdlrm
cache.php134740644editdlrm
canonical.php344600644editdlrm
capabilities.php400260644editdlrm
category-template.php570030644editdlrm
category.php127090644editdlrm
class-feed.php5290644editdlrm
class-http.php3670644editdlrm
class-IXR.php25430644editdlrm
class-json.php436840644editdlrm
class-oembed.php4010644editdlrm
class-phpass.php67080644editdlrm
class-phpmailer.php6640644editdlrm
class-pop3.php209690644editdlrm
class-requests.php22370644editdlrm
class-simplepie.php981240644editdlrm
class-smtp.php4570644editdlrm
class-snoopy.php377150644editdlrm
class-walker-category-dropdown.php24690644editdlrm
class-walker-category.php84770644editdlrm
class-walker-comment.php142130644editdlrm
class-walker-nav-menu.php113130644editdlrm
class-walker-page-dropdown.php27100644editdlrm
class-walker-page.php76120644editdlrm
class-wp-admin-bar.php173640644editdlrm
class-wp-ajax-response.php52660644editdlrm
class-wp-application-passwords.php128540644editdlrm
class-wp-block-editor-context.php13500644editdlrm
class-wp-block-list.php47730644editdlrm
class-wp-block-parser-block.php25550644editdlrm
class-wp-block-parser-frame.php19160644editdlrm
class-wp-block-parser.php115320644editdlrm
class-wp-block-pattern-categories-registry.php53710644editdlrm
class-wp-block-patterns-registry.php100770644editdlrm
class-wp-block-styles-registry.php58830644editdlrm
class-wp-block-supports.php55190644editdlrm
class-wp-block-template.php19510644editdlrm
class-wp-block-type-registry.php50130644editdlrm
class-wp-block-type.php147430644editdlrm
class-wp-block.php84010644editdlrm
class-wp-classic-to-block-menu-converter.php40880644editdlrm
class-wp-comment-query.php478290644editdlrm
class-wp-comment.php93720644editdlrm
class-wp-customize-control.php258420644editdlrm
class-wp-customize-manager.php2022570644editdlrm
class-wp-customize-nav-menus.php575660644editdlrm
class-wp-customize-panel.php106700644editdlrm
class-wp-customize-section.php112440644editdlrm
class-wp-customize-setting.php298890644editdlrm
class-wp-customize-widgets.php716120644editdlrm
class-wp-date-query.php357190644editdlrm
class-wp-dependencies.php140620644editdlrm
class-wp-dependency.php26270644editdlrm
class-wp-duotone.php394430644editdlrm
class-wp-editor.php720840644editdlrm
class-wp-embed.php159940644editdlrm
class-wp-error.php75020644editdlrm
class-wp-fatal-error-handler.php78720644editdlrm
class-wp-feed-cache-transient.php25860644editdlrm
class-wp-feed-cache.php9690644editdlrm
class-wp-hook.php160000644editdlrm
class-wp-http-cookie.php73890644editdlrm
class-wp-http-curl.php125410644editdlrm
class-wp-http-encoding.php66890644editdlrm
class-wp-http-ixr-client.php35060644editdlrm
class-wp-http-proxy.php59800644editdlrm
class-wp-http-requests-hooks.php20220644editdlrm
class-wp-http-requests-response.php44000644editdlrm
class-wp-http-response.php29770644editdlrm
class-wp-http-streams.php168590644editdlrm
class-wp-http.php405850644editdlrm
class-wp-image-editor-gd.php175250644editdlrm
class-wp-image-editor-imagick.php376390644editdlrm
class-wp-image-editor.php175840644editdlrm
class-wp-list-util.php74430644editdlrm
class-wp-locale-switcher.php65610644editdlrm
class-wp-locale.php161150644editdlrm
class-wp-matchesmapregex.php18260644editdlrm
class-wp-meta-query.php305330644editdlrm
class-wp-metadata-lazyloader.php68330644editdlrm
class-wp-navigation-fallback.php92110644editdlrm
class-wp-network-query.php192910644editdlrm
class-wp-network.php121890644editdlrm
class-wp-object-cache.php176050644editdlrm
class-wp-oembed-controller.php68790644editdlrm
class-wp-oembed.php313940644editdlrm
class-wp-paused-extensions-storage.php50620644editdlrm
class-wp-post-type.php299780644editdlrm
class-wp-post.php64840644editdlrm
class-wp-query.php1515820644editdlrm
class-wp-recovery-mode-cookie-service.php68770644editdlrm
class-wp-recovery-mode-email-service.php111830644editdlrm
class-wp-recovery-mode-key-service.php45010644editdlrm
class-wp-recovery-mode-link-service.php34630644editdlrm
class-wp-recovery-mode.php114350644editdlrm
class-wp-rewrite.php634300644editdlrm
class-wp-role.php25230644editdlrm
class-wp-roles.php85800644editdlrm
class-wp-scripts.php286630644editdlrm
class-wp-session-tokens.php74510644editdlrm
class-wp-simplepie-file.php33770644editdlrm
class-wp-simplepie-sanitize-kses.php17700644editdlrm
class-wp-site-query.php310200644editdlrm
class-wp-site.php74540644editdlrm
class-wp-styles.php108980644editdlrm
class-wp-tax-query.php195450644editdlrm
class-wp-taxonomy.php185670644editdlrm
class-wp-term-query.php410150644editdlrm
class-wp-term.php52980644editdlrm
class-wp-text-diff-renderer-inline.php8290644editdlrm
class-wp-text-diff-renderer-table.php188070644editdlrm
class-wp-textdomain-registry.php59760644editdlrm
class-wp-theme-json-data.php15530644editdlrm
class-wp-theme-json-resolver.php246410644editdlrm
class-wp-theme-json-schema.php42230644editdlrm
class-wp-theme-json.php1295580644editdlrm
class-wp-theme.php642670644editdlrm
class-wp-user-meta-session-tokens.php29900644editdlrm
class-wp-user-query.php433910644editdlrm
class-wp-user-request.php22220644editdlrm
class-wp-user.php227620644editdlrm
class-wp-walker.php131660644editdlrm
class-wp-widget-factory.php33470644editdlrm
class-wp-widget.php183860644editdlrm
class-wp-xmlrpc-server.php2141400644editdlrm
class-wp.php261190644editdlrm
class-wpdb.php1194570644editdlrm
class.wp-dependencies.php3730644editdlrm
class.wp-scripts.php3430644editdlrm
class.wp-styles.php3380644editdlrm
comment-template.php1014320644editdlrm
comment.php1291120644editdlrm
compat.php152190644editdlrm
cron.php414730644editdlrm
date.php4000644editdlrm
default-constants.php111710644editdlrm
default-filters.php345060644editdlrm
default-widgets.php22220644editdlrm
deprecated.php1838090644editdlrm
embed-template.php3380644editdlrm
embed.php376590644editdlrm
error-protection.php41210644editdlrm
feed-atom-comments.php54510644editdlrm
feed-atom.php30480644editdlrm
feed-rdf.php26680644editdlrm
feed-rss.php11890644editdlrm
feed-rss2-comments.php40800644editdlrm
feed-rss2.php37990644editdlrm
feed.php230570644editdlrm
fonts.php23380644editdlrm
formatting.php3349910644editdlrm
functions.php2762850644editdlrm
functions.wp-scripts.php147590644editdlrm
functions.wp-styles.php85830644editdlrm
general-template.php1677240644editdlrm
global-styles-and-settings.php202050644editdlrm
http.php256240644editdlrm
https-detection.php56610644editdlrm
https-migration.php47410644editdlrm
kses.php720650644editdlrm
l10n.php627830644editdlrm
link-template.php1560750644editdlrm
load.php541290644editdlrm
locale.php1620644editdlrm
media-template.php618210644editdlrm
media.php2074260644editdlrm
meta.php640780644editdlrm
ms-blogs.php256280644editdlrm
ms-default-constants.php49000644editdlrm
ms-default-filters.php66360644editdlrm
ms-deprecated.php217580644editdlrm
ms-files.php27110644editdlrm
ms-functions.php912580644editdlrm
ms-load.php198700644editdlrm
ms-network.php37820644editdlrm
ms-settings.php41240644editdlrm
ms-site.php405020644editdlrm
nav-menu-template.php257850644editdlrm
nav-menu.php440520644editdlrm
option.php913400644editdlrm
pluggable-deprecated.php62630644editdlrm
pluggable.php1130210644editdlrm
plugin.php354650644editdlrm
post-formats.php71000644editdlrm
post-template.php667930644editdlrm
post-thumbnail-template.php103080644editdlrm
post.php2783200644editdlrm
query.php370350644editdlrm
registration-functions.php2000644editdlrm
registration.php2000644editdlrm
rest-api.php971440644editdlrm
revision.php309050644editdlrm
rewrite.php195140644editdlrm
robots-template.php51850644editdlrm
rss-functions.php2550644editdlrm
rss.php230150644editdlrm
script-loader.php1300790644editdlrm
session.php2580644editdlrm
shortcodes.php238560644editdlrm
sitemaps.php32380644editdlrm
spl-autoload-compat.php4410644editdlrm
style-engine.php72000644editdlrm
taxonomy.php1735280644editdlrm
template-canvas.php5440644editdlrm
template-loader.php33500644editdlrm
template.php235250644editdlrm
theme-i18n.json11510644editdlrm
theme-previews.php28260644editdlrm
theme-templates.php62230644editdlrm
theme.json73030644editdlrm
theme.php1312090644editdlrm
update.php368240644editdlrm
user.php1717980644editdlrm
vars.php62020644editdlrm
version.php9290644editdlrm
widgets.php698750644editdlrm
wp-db.php4450644editdlrm
wp-diff.php6470644editdlrm
Edit: /home/altere25/sportzsoft.altereddigital.com/wp-includes/class-wp-text-diff-renderer-table.php (18807B)
_show_split_view = $params['show_split_view']; } } /** * @ignore * * @param string $header * @return string */ public function _startBlock( $header ) { return ''; } /** * @ignore * * @param array $lines * @param string $prefix */ public function _lines( $lines, $prefix = ' ' ) { } /** * @ignore * * @param string $line HTML-escape the value. * @return string */ public function addedLine( $line ) { return "" . /* translators: Hidden accessibility text. */ __( 'Added:' ) . " {$line}"; } /** * @ignore * * @param string $line HTML-escape the value. * @return string */ public function deletedLine( $line ) { return "" . /* translators: Hidden accessibility text. */ __( 'Deleted:' ) . " {$line}"; } /** * @ignore * * @param string $line HTML-escape the value. * @return string */ public function contextLine( $line ) { return "" . /* translators: Hidden accessibility text. */ __( 'Unchanged:' ) . " {$line}"; } /** * @ignore * * @return string */ public function emptyLine() { return ' '; } /** * @ignore * * @param array $lines * @param bool $encode * @return string */ public function _added( $lines, $encode = true ) { $r = ''; foreach ( $lines as $line ) { if ( $encode ) { $processed_line = htmlspecialchars( $line ); /** * Contextually filters a diffed line. * * Filters TextDiff processing of diffed line. By default, diffs are processed with * htmlspecialchars. Use this filter to remove or change the processing. Passes a context * indicating if the line is added, deleted or unchanged. * * @since 4.1.0 * * @param string $processed_line The processed diffed line. * @param string $line The unprocessed diffed line. * @param string $context The line context. Values are 'added', 'deleted' or 'unchanged'. */ $line = apply_filters( 'process_text_diff_html', $processed_line, $line, 'added' ); } if ( $this->_show_split_view ) { $r .= '' . $this->emptyLine() . $this->addedLine( $line ) . "\n"; } else { $r .= '' . $this->addedLine( $line ) . "\n"; } } return $r; } /** * @ignore * * @param array $lines * @param bool $encode * @return string */ public function _deleted( $lines, $encode = true ) { $r = ''; foreach ( $lines as $line ) { if ( $encode ) { $processed_line = htmlspecialchars( $line ); /** This filter is documented in wp-includes/wp-diff.php */ $line = apply_filters( 'process_text_diff_html', $processed_line, $line, 'deleted' ); } if ( $this->_show_split_view ) { $r .= '' . $this->deletedLine( $line ) . $this->emptyLine() . "\n"; } else { $r .= '' . $this->deletedLine( $line ) . "\n"; } } return $r; } /** * @ignore * * @param array $lines * @param bool $encode * @return string */ public function _context( $lines, $encode = true ) { $r = ''; foreach ( $lines as $line ) { if ( $encode ) { $processed_line = htmlspecialchars( $line ); /** This filter is documented in wp-includes/wp-diff.php */ $line = apply_filters( 'process_text_diff_html', $processed_line, $line, 'unchanged' ); } if ( $this->_show_split_view ) { $r .= '' . $this->contextLine( $line ) . $this->contextLine( $line ) . "\n"; } else { $r .= '' . $this->contextLine( $line ) . "\n"; } } return $r; } /** * Process changed lines to do word-by-word diffs for extra highlighting. * * (TRAC style) sometimes these lines can actually be deleted or added rows. * We do additional processing to figure that out * * @since 2.6.0 * * @param array $orig * @param array $final * @return string */ public function _changed( $orig, $final ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.finalFound $r = ''; /* * Does the aforementioned additional processing: * *_matches tell what rows are "the same" in orig and final. Those pairs will be diffed to get word changes. * - match is numeric: an index in other column. * - match is 'X': no match. It is a new row. * *_rows are column vectors for the orig column and the final column. * - row >= 0: an index of the $orig or $final array. * - row < 0: a blank row for that column. */ list($orig_matches, $final_matches, $orig_rows, $final_rows) = $this->interleave_changed_lines( $orig, $final ); // These will hold the word changes as determined by an inline diff. $orig_diffs = array(); $final_diffs = array(); // Compute word diffs for each matched pair using the inline diff. foreach ( $orig_matches as $o => $f ) { if ( is_numeric( $o ) && is_numeric( $f ) ) { $text_diff = new Text_Diff( 'auto', array( array( $orig[ $o ] ), array( $final[ $f ] ) ) ); $renderer = new $this->inline_diff_renderer(); $diff = $renderer->render( $text_diff ); // If they're too different, don't include any or 's. if ( preg_match_all( '!(.*?|.*?)!', $diff, $diff_matches ) ) { // Length of all text between or . $stripped_matches = strlen( strip_tags( implode( ' ', $diff_matches[0] ) ) ); /* * Since we count length of text between or (instead of picking just one), * we double the length of chars not in those tags. */ $stripped_diff = strlen( strip_tags( $diff ) ) * 2 - $stripped_matches; $diff_ratio = $stripped_matches / $stripped_diff; if ( $diff_ratio > $this->_diff_threshold ) { continue; // Too different. Don't save diffs. } } // Un-inline the diffs by removing or . $orig_diffs[ $o ] = preg_replace( '|.*?|', '', $diff ); $final_diffs[ $f ] = preg_replace( '|.*?|', '', $diff ); } } foreach ( array_keys( $orig_rows ) as $row ) { // Both columns have blanks. Ignore them. if ( $orig_rows[ $row ] < 0 && $final_rows[ $row ] < 0 ) { continue; } // If we have a word based diff, use it. Otherwise, use the normal line. if ( isset( $orig_diffs[ $orig_rows[ $row ] ] ) ) { $orig_line = $orig_diffs[ $orig_rows[ $row ] ]; } elseif ( isset( $orig[ $orig_rows[ $row ] ] ) ) { $orig_line = htmlspecialchars( $orig[ $orig_rows[ $row ] ] ); } else { $orig_line = ''; } if ( isset( $final_diffs[ $final_rows[ $row ] ] ) ) { $final_line = $final_diffs[ $final_rows[ $row ] ]; } elseif ( isset( $final[ $final_rows[ $row ] ] ) ) { $final_line = htmlspecialchars( $final[ $final_rows[ $row ] ] ); } else { $final_line = ''; } if ( $orig_rows[ $row ] < 0 ) { // Orig is blank. This is really an added row. $r .= $this->_added( array( $final_line ), false ); } elseif ( $final_rows[ $row ] < 0 ) { // Final is blank. This is really a deleted row. $r .= $this->_deleted( array( $orig_line ), false ); } else { // A true changed row. if ( $this->_show_split_view ) { $r .= '' . $this->deletedLine( $orig_line ) . $this->addedLine( $final_line ) . "\n"; } else { $r .= '' . $this->deletedLine( $orig_line ) . '' . $this->addedLine( $final_line ) . "\n"; } } } return $r; } /** * Takes changed blocks and matches which rows in orig turned into which rows in final. * * @since 2.6.0 * * @param array $orig Lines of the original version of the text. * @param array $final Lines of the final version of the text. * @return array { * Array containing results of comparing the original text to the final text. * * @type array $orig_matches Associative array of original matches. Index == row * number of `$orig`, value == corresponding row number * of that same line in `$final` or 'x' if there is no * corresponding row (indicating it is a deleted line). * @type array $final_matches Associative array of final matches. Index == row * number of `$final`, value == corresponding row number * of that same line in `$orig` or 'x' if there is no * corresponding row (indicating it is a new line). * @type array $orig_rows Associative array of interleaved rows of `$orig` with * blanks to keep matches aligned with side-by-side diff * of `$final`. A value >= 0 corresponds to index of `$orig`. * Value < 0 indicates a blank row. * @type array $final_rows Associative array of interleaved rows of `$final` with * blanks to keep matches aligned with side-by-side diff * of `$orig`. A value >= 0 corresponds to index of `$final`. * Value < 0 indicates a blank row. * } */ public function interleave_changed_lines( $orig, $final ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.finalFound // Contains all pairwise string comparisons. Keys are such that this need only be a one dimensional array. $matches = array(); foreach ( array_keys( $orig ) as $o ) { foreach ( array_keys( $final ) as $f ) { $matches[ "$o,$f" ] = $this->compute_string_distance( $orig[ $o ], $final[ $f ] ); } } asort( $matches ); // Order by string distance. $orig_matches = array(); $final_matches = array(); foreach ( $matches as $keys => $difference ) { list($o, $f) = explode( ',', $keys ); $o = (int) $o; $f = (int) $f; // Already have better matches for these guys. if ( isset( $orig_matches[ $o ] ) && isset( $final_matches[ $f ] ) ) { continue; } // First match for these guys. Must be best match. if ( ! isset( $orig_matches[ $o ] ) && ! isset( $final_matches[ $f ] ) ) { $orig_matches[ $o ] = $f; $final_matches[ $f ] = $o; continue; } // Best match of this final is already taken? Must mean this final is a new row. if ( isset( $orig_matches[ $o ] ) ) { $final_matches[ $f ] = 'x'; } elseif ( isset( $final_matches[ $f ] ) ) { // Best match of this orig is already taken? Must mean this orig is a deleted row. $orig_matches[ $o ] = 'x'; } } // We read the text in this order. ksort( $orig_matches ); ksort( $final_matches ); // Stores rows and blanks for each column. $orig_rows = array_keys( $orig_matches ); $orig_rows_copy = $orig_rows; $final_rows = array_keys( $final_matches ); /* * Interleaves rows with blanks to keep matches aligned. * We may end up with some extraneous blank rows, but we'll just ignore them later. */ foreach ( $orig_rows_copy as $orig_row ) { $final_pos = array_search( $orig_matches[ $orig_row ], $final_rows, true ); $orig_pos = (int) array_search( $orig_row, $orig_rows, true ); if ( false === $final_pos ) { // This orig is paired with a blank final. array_splice( $final_rows, $orig_pos, 0, -1 ); } elseif ( $final_pos < $orig_pos ) { // This orig's match is up a ways. Pad final with blank rows. $diff_array = range( -1, $final_pos - $orig_pos ); array_splice( $final_rows, $orig_pos, 0, $diff_array ); } elseif ( $final_pos > $orig_pos ) { // This orig's match is down a ways. Pad orig with blank rows. $diff_array = range( -1, $orig_pos - $final_pos ); array_splice( $orig_rows, $orig_pos, 0, $diff_array ); } } // Pad the ends with blank rows if the columns aren't the same length. $diff_count = count( $orig_rows ) - count( $final_rows ); if ( $diff_count < 0 ) { while ( $diff_count < 0 ) { array_push( $orig_rows, $diff_count++ ); } } elseif ( $diff_count > 0 ) { $diff_count = -1 * $diff_count; while ( $diff_count < 0 ) { array_push( $final_rows, $diff_count++ ); } } return array( $orig_matches, $final_matches, $orig_rows, $final_rows ); } /** * Computes a number that is intended to reflect the "distance" between two strings. * * @since 2.6.0 * * @param string $string1 * @param string $string2 * @return int */ public function compute_string_distance( $string1, $string2 ) { // Use an md5 hash of the strings for a count cache, as it's fast to generate, and collisions aren't a concern. $count_key1 = md5( $string1 ); $count_key2 = md5( $string2 ); // Cache vectors containing character frequency for all chars in each string. if ( ! isset( $this->count_cache[ $count_key1 ] ) ) { $this->count_cache[ $count_key1 ] = count_chars( $string1 ); } if ( ! isset( $this->count_cache[ $count_key2 ] ) ) { $this->count_cache[ $count_key2 ] = count_chars( $string2 ); } $chars1 = $this->count_cache[ $count_key1 ]; $chars2 = $this->count_cache[ $count_key2 ]; $difference_key = md5( implode( ',', $chars1 ) . ':' . implode( ',', $chars2 ) ); if ( ! isset( $this->difference_cache[ $difference_key ] ) ) { // L1-norm of difference vector. $this->difference_cache[ $difference_key ] = array_sum( array_map( array( $this, 'difference' ), $chars1, $chars2 ) ); } $difference = $this->difference_cache[ $difference_key ]; // $string1 has zero length? Odd. Give huge penalty by not dividing. if ( ! $string1 ) { return $difference; } // Return distance per character (of string1). return $difference / strlen( $string1 ); } /** * @ignore * @since 2.6.0 * * @param int $a * @param int $b * @return int */ public function difference( $a, $b ) { return abs( $a - $b ); } /** * Make private properties readable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Getting a dynamic property is deprecated. * * @param string $name Property to get. * @return mixed A declared property's value, else null. */ public function __get( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { return $this->$name; } wp_trigger_error( __METHOD__, "The property `{$name}` is not declared. Getting a dynamic property is " . 'deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); return null; } /** * Make private properties settable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Setting a dynamic property is deprecated. * * @param string $name Property to check if set. * @param mixed $value Property value. */ public function __set( $name, $value ) { if ( in_array( $name, $this->compat_fields, true ) ) { $this->$name = $value; return; } wp_trigger_error( __METHOD__, "The property `{$name}` is not declared. Setting a dynamic property is " . 'deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); } /** * Make private properties checkable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Checking a dynamic property is deprecated. * * @param string $name Property to check if set. * @return bool Whether the property is set. */ public function __isset( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { return isset( $this->$name ); } wp_trigger_error( __METHOD__, "The property `{$name}` is not declared. Checking `isset()` on a dynamic property " . 'is deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); return false; } /** * Make private properties un-settable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Unsetting a dynamic property is deprecated. * * @param string $name Property to unset. */ public function __unset( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { unset( $this->$name ); return; } wp_trigger_error( __METHOD__, "A property `{$name}` is not declared. Unsetting a dynamic property is " . 'deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); } }