63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php // phpcs:disable Squiz.Commenting.FileComment.Missing -- Not used in other compat classes.
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	// Exit if accessed directly.
 | 
						|
	exit;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Compatibility for the Heroic Knowledge Base plugin.
 | 
						|
 *
 | 
						|
 * @link https://herothemes.com/plugins/heroic-wordpress-knowledge-base/
 | 
						|
 */
 | 
						|
class ET_Builder_Plugin_Compat_HT_Knowledge_Base extends ET_Builder_Plugin_Compat_Base {
 | 
						|
	/**
 | 
						|
	 * Constructor.
 | 
						|
	 */
 | 
						|
	public function __construct() {
 | 
						|
		$this->plugin_id = 'ht-knowledge-base/ht-knowledge-base.php';
 | 
						|
		$this->init_hooks();
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Hook methods to WordPress.
 | 
						|
	 *
 | 
						|
	 * @return void
 | 
						|
	 */
 | 
						|
	public function init_hooks() {
 | 
						|
		// Bail if there's no version found.
 | 
						|
		if ( ! $this->get_plugin_version() ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		add_filter( 'template_include', array( $this, 'tb_category_page_compatibility' ) );
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Compatibility with Heroic Knowledge Base :: Theme Builder doesn't work on category pages
 | 
						|
	 * https://github.com/elegantthemes/Divi/issues/22184
 | 
						|
	 *
 | 
						|
	 * @param string $template The template file.
 | 
						|
	 *
 | 
						|
	 * @return string $template The filtered template file.
 | 
						|
	 */
 | 
						|
	public function tb_category_page_compatibility( $template ) {
 | 
						|
		global $wp_query, $ht_knowledge_base_init;
 | 
						|
 | 
						|
		// Dummy post default.
 | 
						|
		$dummy_post_default = array();
 | 
						|
 | 
						|
		$queried_object = isset( $wp_query->queried_object ) ? $wp_query->queried_object : null;
 | 
						|
 | 
						|
		if ( ! empty( $queried_object->taxonomy ) && 'ht_kb_category' === $queried_object->taxonomy ) {
 | 
						|
			$dummy_post_default['is_tax'] = true;
 | 
						|
 | 
						|
			// Reset post.
 | 
						|
			$ht_knowledge_base_init->ht_kb_theme_compat_reset_post( $dummy_post_default );
 | 
						|
		}
 | 
						|
 | 
						|
		return $template;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
new ET_Builder_Plugin_Compat_HT_Knowledge_Base();
 |