/**
* 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' );
}
}
Casino for nett 2026 Casino betsson Innlogging Din brukerveiledning per Norges beste casinoer
rootAdmin4970
May 9, 2026
Disse beste online casinoene for spillere i tillegg the three musketeers Slot til ektefødt aktiva indre sett Norge i 2026
rootAdmin4970
May 9, 2026
Casino Online i tillegg til avalon 2 $ 1 21 casino Ingen innskuddskode Almisse raske uttak inne i Norge, Brukbar Pengesluk VOBOC FOUNDATION
rootAdmin4970
May 9, 2026
ᗎ Beste online casino sider indre sett Norge ️ Bleser norske Casinoer vulkan vegas Kampanjekode 2026 Bestemann Online
rootAdmin4970
May 9, 2026
Casino for nett 2026 Casino betsson Innlogging Din brukerveiledning per Norges beste casinoer
rootAdmin4970
May 9, 2026
Disse beste online casinoene for spillere i tillegg the three musketeers Slot til ektefødt aktiva indre sett Norge i 2026
rootAdmin4970
May 9, 2026
Casino Online i tillegg til avalon 2 $ 1 21 casino Ingen innskuddskode Almisse raske uttak inne i Norge, Brukbar Pengesluk VOBOC FOUNDATION
rootAdmin4970
May 9, 2026
ᗎ Beste online casino sider indre sett Norge ️ Bleser norske Casinoer vulkan vegas Kampanjekode 2026 Bestemann Online
rootAdmin4970
May 9, 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 '';
}
}
Page not found – Lawyers Blog