Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/litespee.../thirdpar...
File: facetwp.cls.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* The Third Party integration with FacetWP.
[2] Fix | Delete
*
[3] Fix | Delete
* @since 2.9.9
[4] Fix | Delete
* @package LiteSpeed
[5] Fix | Delete
* @subpackage LiteSpeed_Cache\Thirdparty
[6] Fix | Delete
*/
[7] Fix | Delete
[8] Fix | Delete
namespace LiteSpeed\Thirdparty;
[9] Fix | Delete
[10] Fix | Delete
defined('WPINC') || exit();
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* FacetWP compatibility hooks for LiteSpeed Cache.
[14] Fix | Delete
*/
[15] Fix | Delete
class Facetwp {
[16] Fix | Delete
[17] Fix | Delete
/**
[18] Fix | Delete
* Detect FacetWP context and adjust ESI params when FacetWP returns buffered HTML via the "wp" template.
[19] Fix | Delete
*
[20] Fix | Delete
* Note: We only *read* POST data here to detect an AJAX context; no privileged action is performed.
[21] Fix | Delete
* Data is unslashed and sanitized before comparison.
[22] Fix | Delete
*
[23] Fix | Delete
* @since 2.9.9
[24] Fix | Delete
* @return void
[25] Fix | Delete
*/
[26] Fix | Delete
public static function detect() {
[27] Fix | Delete
if ( ! defined( 'FACETWP_VERSION' ) ) {
[28] Fix | Delete
return;
[29] Fix | Delete
}
[30] Fix | Delete
/**
[31] Fix | Delete
* For Facetwp, if the template is "wp", return the buffered HTML
[32] Fix | Delete
* So marked as rest call to put is_json to ESI
[33] Fix | Delete
*/
[34] Fix | Delete
// phpcs:ignore WordPress.Security.NonceVerification.Missing -- Reading POST to detect FacetWP AJAX; no state change or sensitive action performed.
[35] Fix | Delete
if ( ! empty( $_POST['action'] ) && ! empty( $_POST['data'] ) && ! empty( $_POST['data']['template'] ) && 'wp' === $_POST['data']['template'] ) {
[36] Fix | Delete
add_filter( 'litespeed_esi_params', __CLASS__ . '::set_is_json' );
[37] Fix | Delete
}
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
/**
[41] Fix | Delete
* Mark ESI response as JSON for FacetWP's "wp" template refreshes.
[42] Fix | Delete
*
[43] Fix | Delete
* @since 2.9.9
[44] Fix | Delete
* @param array $params Existing ESI params.
[45] Fix | Delete
* @return array Modified ESI params.
[46] Fix | Delete
*/
[47] Fix | Delete
public static function set_is_json( $params ) {
[48] Fix | Delete
$params['is_json'] = 1;
[49] Fix | Delete
return $params;
[50] Fix | Delete
}
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function