| Server IP : 80.74.154.100 / Your IP : 216.73.217.0 Web Server : Apache System : Linux marissa.metanet.ch 4.18.0-553.141.2.lve.el7h.x86_64 #1 SMP Wed Jul 8 17:20:31 UTC 2026 x86_64 User : onlineadmin ( 10487) PHP Version : 8.5.7 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/httpd/vhosts/comeonline.ch/httpdocs/wp-content/plugins/siteorigin-panels/compat/ |
Upload File : |
<?php
/**
* Compatibility with Pagelayer Templates.
*
* Templates are output using the_content filter.
* To prevent content duplication, we need to selectively
* deactivate the panels filter based on template usage.
*
*/
class SiteOrigin_Panels_Compat_Pagelayer {
public $panelsDisabled = false;
public function __construct() {
add_action( 'get_header', array( $this, 'template_detection' ), 1 );
add_action( 'get_footer', array( $this, 'template_detection' ), 1 );
add_filter( 'loop_start', array( $this, 'enable_panels_in_content' ) );
}
public static function single() {
static $single;
return empty( $single ) ? $single = new self() : $single;
}
function enable_panels_in_content( $query ) {
if ( $this->panelsDisabled && $query->is_main_query() ) {
remove_filter( 'siteorigin_panels_filter_content_enabled', '__return_false' );
$this->panelsDisabled = false;
}
}
public function template_detection() {
global $pagelayer;
$context = current_filter() === 'get_header' ? 'header' : 'footer';
if (
! $this->panelsDisabled &&
! empty( $pagelayer->{ "template_$context" } )
) {
add_filter( 'siteorigin_panels_filter_content_enabled', '__return_false' );
$this->panelsDisabled = true;
}
}
}