You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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();