Edit File by line
/home/zeestwma/richards.../wp-inclu.../interact...
File: interactivity-api.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Interactivity API: Functions and hooks
[2] Fix | Delete
*
[3] Fix | Delete
* @package WordPress
[4] Fix | Delete
* @subpackage Interactivity API
[5] Fix | Delete
* @since 6.5.0
[6] Fix | Delete
*/
[7] Fix | Delete
[8] Fix | Delete
/**
[9] Fix | Delete
* Retrieves the main WP_Interactivity_API instance.
[10] Fix | Delete
*
[11] Fix | Delete
* It provides access to the WP_Interactivity_API instance, creating one if it
[12] Fix | Delete
* doesn't exist yet.
[13] Fix | Delete
*
[14] Fix | Delete
* @since 6.5.0
[15] Fix | Delete
*
[16] Fix | Delete
* @global WP_Interactivity_API $wp_interactivity
[17] Fix | Delete
*
[18] Fix | Delete
* @return WP_Interactivity_API The main WP_Interactivity_API instance.
[19] Fix | Delete
*/
[20] Fix | Delete
function wp_interactivity(): WP_Interactivity_API {
[21] Fix | Delete
global $wp_interactivity;
[22] Fix | Delete
if ( ! ( $wp_interactivity instanceof WP_Interactivity_API ) ) {
[23] Fix | Delete
$wp_interactivity = new WP_Interactivity_API();
[24] Fix | Delete
}
[25] Fix | Delete
return $wp_interactivity;
[26] Fix | Delete
}
[27] Fix | Delete
[28] Fix | Delete
/**
[29] Fix | Delete
* Processes the interactivity directives contained within the HTML content
[30] Fix | Delete
* and updates the markup accordingly.
[31] Fix | Delete
*
[32] Fix | Delete
* @since 6.5.0
[33] Fix | Delete
*
[34] Fix | Delete
* @param string $html The HTML content to process.
[35] Fix | Delete
* @return string The processed HTML content. It returns the original content when the HTML contains unbalanced tags.
[36] Fix | Delete
*/
[37] Fix | Delete
function wp_interactivity_process_directives( string $html ): string {
[38] Fix | Delete
return wp_interactivity()->process_directives( $html );
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
/**
[42] Fix | Delete
* Gets and/or sets the initial state of an Interactivity API store for a
[43] Fix | Delete
* given namespace.
[44] Fix | Delete
*
[45] Fix | Delete
* If state for that store namespace already exists, it merges the new
[46] Fix | Delete
* provided state with the existing one.
[47] Fix | Delete
*
[48] Fix | Delete
* The namespace can be omitted inside derived state getters, using the
[49] Fix | Delete
* namespace where the getter is defined.
[50] Fix | Delete
*
[51] Fix | Delete
* @since 6.5.0
[52] Fix | Delete
* @since 6.6.0 The namespace can be omitted when called inside derived state getters.
[53] Fix | Delete
*
[54] Fix | Delete
* @param string $store_namespace The unique store namespace identifier.
[55] Fix | Delete
* @param array $state Optional. The array that will be merged with the existing state for the specified
[56] Fix | Delete
* store namespace.
[57] Fix | Delete
* @return array The state for the specified store namespace. This will be the updated state if a $state argument was
[58] Fix | Delete
* provided.
[59] Fix | Delete
*/
[60] Fix | Delete
function wp_interactivity_state( ?string $store_namespace = null, array $state = array() ): array {
[61] Fix | Delete
return wp_interactivity()->state( $store_namespace, $state );
[62] Fix | Delete
}
[63] Fix | Delete
[64] Fix | Delete
/**
[65] Fix | Delete
* Gets and/or sets the configuration of the Interactivity API for a given
[66] Fix | Delete
* store namespace.
[67] Fix | Delete
*
[68] Fix | Delete
* If configuration for that store namespace exists, it merges the new
[69] Fix | Delete
* provided configuration with the existing one.
[70] Fix | Delete
*
[71] Fix | Delete
* @since 6.5.0
[72] Fix | Delete
*
[73] Fix | Delete
* @param string $store_namespace The unique store namespace identifier.
[74] Fix | Delete
* @param array $config Optional. The array that will be merged with the existing configuration for the
[75] Fix | Delete
* specified store namespace.
[76] Fix | Delete
* @return array The configuration for the specified store namespace. This will be the updated configuration if a
[77] Fix | Delete
* $config argument was provided.
[78] Fix | Delete
*/
[79] Fix | Delete
function wp_interactivity_config( string $store_namespace, array $config = array() ): array {
[80] Fix | Delete
return wp_interactivity()->config( $store_namespace, $config );
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
/**
[84] Fix | Delete
* Generates a `data-wp-context` directive attribute by encoding a context
[85] Fix | Delete
* array.
[86] Fix | Delete
*
[87] Fix | Delete
* This helper function simplifies the creation of `data-wp-context` directives
[88] Fix | Delete
* by providing a way to pass an array of data, which encodes into a JSON string
[89] Fix | Delete
* safe for direct use as a HTML attribute value.
[90] Fix | Delete
*
[91] Fix | Delete
* Example:
[92] Fix | Delete
*
[93] Fix | Delete
* <div <?php echo wp_interactivity_data_wp_context( array( 'isOpen' => true, 'count' => 0 ) ); ?>>
[94] Fix | Delete
*
[95] Fix | Delete
* @since 6.5.0
[96] Fix | Delete
*
[97] Fix | Delete
* @param array $context The array of context data to encode.
[98] Fix | Delete
* @param string $store_namespace Optional. The unique store namespace identifier.
[99] Fix | Delete
* @return string A complete `data-wp-context` directive with a JSON encoded value representing the context array and
[100] Fix | Delete
* the store namespace if specified.
[101] Fix | Delete
*/
[102] Fix | Delete
function wp_interactivity_data_wp_context( array $context, string $store_namespace = '' ): string {
[103] Fix | Delete
return 'data-wp-context=\'' .
[104] Fix | Delete
( $store_namespace ? $store_namespace . '::' : '' ) .
[105] Fix | Delete
( empty( $context ) ? '{}' : wp_json_encode( $context, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP ) ) .
[106] Fix | Delete
'\'';
[107] Fix | Delete
}
[108] Fix | Delete
[109] Fix | Delete
/**
[110] Fix | Delete
* Gets the current Interactivity API context for a given namespace.
[111] Fix | Delete
*
[112] Fix | Delete
* The function should be used only during directive processing. If the
[113] Fix | Delete
* `$store_namespace` parameter is omitted, it uses the current namespace value
[114] Fix | Delete
* on the internal namespace stack.
[115] Fix | Delete
*
[116] Fix | Delete
* It returns an empty array when the specified namespace is not defined.
[117] Fix | Delete
*
[118] Fix | Delete
* @since 6.6.0
[119] Fix | Delete
*
[120] Fix | Delete
* @param string $store_namespace Optional. The unique store namespace identifier.
[121] Fix | Delete
* @return array The context for the specified store namespace.
[122] Fix | Delete
*/
[123] Fix | Delete
function wp_interactivity_get_context( ?string $store_namespace = null ): array {
[124] Fix | Delete
return wp_interactivity()->get_context( $store_namespace );
[125] Fix | Delete
}
[126] Fix | Delete
[127] Fix | Delete
/**
[128] Fix | Delete
* Returns an array representation of the current element being processed.
[129] Fix | Delete
*
[130] Fix | Delete
* The function should be used only during directive processing.
[131] Fix | Delete
*
[132] Fix | Delete
* @since 6.7.0
[133] Fix | Delete
*
[134] Fix | Delete
* @return array{attributes: array<string, string|bool>}|null Current element.
[135] Fix | Delete
*/
[136] Fix | Delete
function wp_interactivity_get_element(): ?array {
[137] Fix | Delete
return wp_interactivity()->get_element();
[138] Fix | Delete
}
[139] Fix | Delete
[140] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function