/**
* Content 404 page
*
* @package Inc/Views/Main
*/
/**
* Class Hestia_Content_404
*/
class Hestia_Content_404 extends Hestia_Abstract_Main {
/**
* Init Content 404 view
*/
public function init() {
add_action( 'hestia_do_404', array( $this, 'render_404_page' ) );
}
/**
* Render 404 page.
*/
public function render_404_page() {
$default = hestia_get_blog_layout_default();
$sidebar_layout = apply_filters( 'hestia_sidebar_layout', get_theme_mod( 'hestia_blog_sidebar_layout', $default ) );
$wrap_class = apply_filters( 'hestia_filter_index_search_content_classes', 'col-md-8 blog-posts-wrap' );
$layout_classes = hestia_layout();
do_action( 'hestia_before_index_wrapper' );
echo '
';
echo '
';
echo '
';
do_action( 'hestia_before_index_posts_loop' );
echo '
';
if ( $sidebar_layout === 'sidebar-left' ) {
get_sidebar();
}
echo '
';
do_action( 'hestia_before_index_content' );
echo '
';
echo '';
echo '
';
echo '
';
esc_html_e( 'It seems we can’t find what you’re looking for. Perhaps searching can help.', 'hestia' );
echo '
';
get_search_form();
echo '
';
echo '
';
echo '';
echo '
';
if ( $sidebar_layout === 'sidebar-right' ) {
get_sidebar();
}
echo '
';
echo '
';
echo '
';
do_action( 'hestia_after_archive_content' );
}
}
/**
* Compatibility with Elementor Header Footer plugin.
*
* @package Hestia
*/
/**
* Class Hestia_Header_Footer_Elementor
*/
class Hestia_Header_Footer_Elementor extends Hestia_Abstract_Main {
/**
* Check if plugin is installed.
*/
private function should_load() {
if ( ! defined( 'ELEMENTOR_VERSION' ) ) {
return false;
}
if ( ! class_exists( 'Header_Footer_Elementor', false ) ) {
return false;
}
return true;
}
/**
* Init function.
*/
public function init() {
if ( ! $this->should_load() ) {
return;
}
$this->add_theme_builder_hooks();
}
/**
* Replace theme hooks with the one from the plugin.
*/
private function add_theme_builder_hooks() {
add_filter( 'body_class', array( $this, 'add_body_class' ) );
add_action( 'hestia_do_header', array( $this, 'do_header' ), 0 );
add_action( 'hestia_do_footer', array( $this, 'do_footer' ), 0 );
}
/**
* Add body class to know to disable parallax on header.
*
* @param array $classes Classes on body.
* @return array
*/
public function add_body_class( $classes ) {
$classes[] = 'header-footer-elementor';
return $classes;
}
/**
* Replace Header hooks.
*/
public function do_header() {
if ( ! hfe_header_enabled() ) {
return;
}
hfe_render_header();
remove_all_actions( 'hestia_do_header' );
remove_all_actions( 'hestia_do_top_bar' );
}
/**
* Replace Footer hooks.
*/
public function do_footer() {
if ( ! hfe_footer_enabled() ) {
return;
}
hfe_render_footer();
remove_all_actions( 'hestia_do_footer' );
}
}
LAudace Récompensée Comment billionairespin Redéfinit les Limites de la Chance et du Succès Financi
rootAdmin4970
February 11, 2026
Fortune Favors the Brave Navigate the thrilling Chicken Road adventure, boasting a 98% payout and sc
rootAdmin4970
February 11, 2026
Dare to Cross High-RTP Chicken Road Gambling Offers Thrills & Golden Egg Rewards.
rootAdmin4970
February 11, 2026
Elevate Your Wins Mastering the Thrill of the Aviator Game with Strategic Cashouts.
rootAdmin4970
February 11, 2026
LAudace Récompensée Comment billionairespin Redéfinit les Limites de la Chance et du Succès Financi
rootAdmin4970
February 11, 2026
Fortune Favors the Brave Navigate the thrilling Chicken Road adventure, boasting a 98% payout and sc
rootAdmin4970
February 11, 2026
Dare to Cross High-RTP Chicken Road Gambling Offers Thrills & Golden Egg Rewards.
rootAdmin4970
February 11, 2026
Elevate Your Wins Mastering the Thrill of the Aviator Game with Strategic Cashouts.
rootAdmin4970
February 11, 2026
/**
* Class that handle the show/hide hooks.
*
* @package Hestia
*/
/**
* Class Hestia_View_Hooks
*/
class Hestia_View_Hooks_With_Upsell {
/**
* Initialize function.
*/
public function init() {
if ( ! $this->should_load() ) {
return;
}
add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 99 );
add_action( 'wp', array( $this, 'render_hook_placeholder' ) );
add_action( 'wp_head', array( $this, 'render_hook_placeholder_css' ) );
}
/**
* Check user role before allowing the class to run
*
* @return bool
*/
private function should_load() {
return current_user_can( 'administrator' );
}
/**
* Admin Bar Menu
*
* @param array $wp_admin_bar Admin bar menus.
*/
function admin_bar_menu( $wp_admin_bar = array() ) {
if ( is_admin() ) {
return;
}
$title = __( 'Show Hooks', 'hestia' );
$href = add_query_arg( 'hestia_preview_hook', 'show' );
if ( isset( $_GET['hestia_preview_hook'] ) && 'show' === $_GET['hestia_preview_hook'] ) {
$title = __( 'Hide Hooks', 'hestia' );
$href = remove_query_arg( 'hestia_preview_hook' );
}
$wp_admin_bar->add_menu(
array(
'title' => sprintf( '%s
', $title ),
'id' => 'hestia_preview_hook',
'parent' => false,
'href' => $href,
)
);
}
/**
* Beautify hook names.
*
* @param string $hook Hook name.
*
* @return string
*/
public static function beautify_hook( $hook ) {
$hook_label = str_replace( '_', ' ', $hook );
$hook_label = str_replace( 'hestia', ' ', $hook_label );
$hook_label = str_replace( 'woocommerce', ' ', $hook_label );
$hook_label = ucwords( $hook_label );
return $hook_label;
}
/**
* Render hook placeholder.
*/
public function render_hook_placeholder() {
if ( ! isset( $_GET['hestia_preview_hook'] ) || 'show' !== $_GET['hestia_preview_hook'] ) {
return;
}
$hooks = $this->hook_lists();
foreach ( $hooks as $hooks_in_category ) {
foreach ( $hooks_in_category as $hook_value ) {
$hook_label = self::beautify_hook( $hook_value );
add_action(
$hook_value,
function () use ( $hook_label ) {
echo '
';
echo '
';
echo '
' . esc_html( $hook_label ) . '';
echo '
';
echo '
';
echo '
';
}
);
}
}
}
/**
* Hook lists.
*/
private function hook_lists() {
$hooks = array(
'header' => array(
'hestia_before_header_content_hook',
'hestia_before_header_hook',
'hestia_after_header_hook',
'hestia_after_header_content_hook',
),
'footer' => array(
'hestia_before_footer_hook',
'hestia_after_footer_hook',
'hestia_before_footer_content_hook',
'hestia_after_footer_content_hook',
'hestia_before_footer_widgets_hook',
'hestia_after_footer_widgets_hook',
),
'frontpage' => array(
'hestia_before_big_title_section_hook',
'hestia_before_big_title_section_content_hook',
'hestia_top_big_title_section_content_hook',
'hestia_big_title_section_buttons',
'hestia_bottom_big_title_section_content_hook',
'hestia_after_big_title_section_content_hook',
'hestia_after_big_title_section_hook',
'hestia_before_team_section_hook',
'hestia_before_team_section_content_hook',
'hestia_top_team_section_content_hook',
'hestia_bottom_team_section_content_hook',
'hestia_after_team_section_content_hook',
'hestia_after_team_section_hook',
'hestia_before_features_section_hook',
'hestia_before_features_section_content_hook',
'hestia_top_features_section_content_hook',
'hestia_bottom_features_section_content_hook',
'hestia_after_features_section_content_hook',
'hestia_after_features_section_hook',
'hestia_before_pricing_section_hook',
'hestia_before_pricing_section_content_hook',
'hestia_top_pricing_section_content_hook',
'hestia_bottom_pricing_section_content_hook',
'hestia_after_pricing_section_content_hook',
'hestia_after_pricing_section_hook',
'hestia_before_about_section_hook',
'hestia_after_about_section_hook',
'hestia_before_shop_section_hook',
'hestia_before_shop_section_content_hook',
'hestia_top_shop_section_content_hook',
'hestia_bottom_shop_section_content_hook',
'hestia_after_shop_section_content_hook',
'hestia_after_shop_section_hook',
'hestia_before_testimonials_section_hook',
'hestia_before_testimonials_section_content_hook',
'hestia_top_testimonials_section_content_hook',
'hestia_bottom_testimonials_section_content_hook',
'hestia_after_testimonials_section_content_hook',
'hestia_after_testimonials_section_hook',
'hestia_before_subscribe_section_hook',
'hestia_before_subscribe_section_content_hook',
'hestia_top_subscribe_section_content_hook',
'hestia_bottom_subscribe_section_content_hook',
'hestia_after_subscribe_section_content_hook',
'hestia_after_subscribe_section_hook',
'hestia_before_blog_section_hook',
'hestia_before_blog_section_content_hook',
'hestia_top_blog_section_content_hook',
'hestia_bottom_blog_section_content_hook',
'hestia_after_blog_section_content_hook',
'hestia_after_blog_section_hook',
'hestia_before_contact_section_hook',
'hestia_before_contact_section_content_hook',
'hestia_top_contact_section_content_hook',
'hestia_bottom_contact_section_content_hook',
'hestia_after_contact_section_content_hook',
'hestia_after_contact_section_hook',
'hestia_before_portfolio_section_hook',
'hestia_before_portfolio_section_content_hook',
'hestia_top_portfolio_section_content_hook',
'hestia_bottom_portfolio_section_content_hook',
'hestia_after_portfolio_section_content_hook',
'hestia_after_portfolio_section_hook',
'hestia_before_clients_bar_section_hook',
'hestia_clients_bar_section_content_hook',
'hestia_after_clients_bar_section_hook',
'hestia_before_ribbon_section_hook',
'hestia_after_ribbon_section_hook',
),
'post' => array(
'hestia_before_single_post_article',
'hestia_after_single_post_article',
),
'page' => array(
'hestia_before_page_content',
),
'sidebar' => array(
'hestia_before_sidebar_content',
'hestia_after_sidebar_content',
),
'blog' => array(
'hestia_before_index_posts_loop',
'hestia_before_index_content',
'hestia_after_archive_content',
),
'pagination' => array(
'hestia_before_pagination',
'hestia_after_pagination',
),
);
return $hooks;
}
/**
* View hook page css.
*/
public function render_hook_placeholder_css() {
$css = '
.hestia-hook-wrapper {
text-align: center; width: 100%;
}
.hestia-hook-placeholder {
display: flex;
width: 98%;
justify-content: center;
align-items: center;
margin: 10px auto;
border: 2px dashed #A020F0;
font-size: 14px;
padding: 6px 10px;
text-align: left;
word-break: break-word;
color: #A020F0;
}
.hestia-hook-placeholder a, .hestia-hook-upsell a {
align-items: center;
justify-content: center;
min-width: 250px;
width: 100%;
font-size: 14px !important;
min-height: 32px;
text-decoration: none;
color: #A020F0 !important;
}
.hestia-hook-placeholder a:hover, .hestia-hook-upsell a:hover {
color: #A020F0 !important;
}
.hestia-hook-placeholder a:hover, .hestia-hook-placeholder a:focus {
text-decoration: none;
}
.hestia-hook-placeholder a:hover .hestia-hook-icon, .hestia-hook-placeholder a:focus .hestia-hook-icon {
box-shadow: inset 0 0 0 1px #A020F0;
color: #A020F0;
opacity: 1;
display: block;
}
.hestia-hook-placeholder a .hestia-hook-icon {
box-shadow: inset 0 0 0 1px #A020F0;
border-radius: 50%;
width: 20px;
height: 20px;
font-size: 16px;
padding: 3px 2px;
margin-left: -2px;
opacity: 0;
transform:rotate(360deg);
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
position: absolute;
}
.hestia-hook-placeholder a .hestia-hook-label {
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
font-size: 14px;
opacity: 1;
}
.hestia-hook-placeholder a:hover .hestia-hook-label, .hestia-hook-placeholder a:focus .hestia-hook-label {
opacity: 0;
}
.section-image .hestia-hook-wrapper {
position: relative;
z-index: 2;
}';
echo '';
}
}