hook = get_post_meta( $post_id, '_generate_hook', true ); if ( empty( $this->hook ) ) { return; } $this->content = get_post_meta( $post_id, '_generate_element_content', true ); if ( get_post_meta( $post_id, '_generate_custom_hook', true ) ) { $this->custom_hook = get_post_meta( $post_id, '_generate_custom_hook', true ); } if ( get_post_meta( $post_id, '_generate_hook_disable_site_header', true ) ) { $this->disable_site_header = get_post_meta( $post_id, '_generate_hook_disable_site_header', true ); } if ( get_post_meta( $post_id, '_generate_hook_disable_site_footer', true ) ) { $this->disable_site_footer = get_post_meta( $post_id, '_generate_hook_disable_site_footer', true ); } if ( get_post_meta( $post_id, '_generate_hook_priority', true ) || '0' === get_post_meta( $post_id, '_generate_hook_priority', true ) ) { $this->priority = get_post_meta( $post_id, '_generate_hook_priority', true ); } if ( get_post_meta( $post_id, '_generate_hook_execute_php', true ) ) { $this->php = get_post_meta( $post_id, '_generate_hook_execute_php', true ); } if ( get_post_meta( $post_id, '_generate_hook_execute_shortcodes', true ) ) { $this->shortcodes = get_post_meta( $post_id, '_generate_hook_execute_shortcodes', true ); } if ( get_post_meta( $post_id, '_generate_element_display_conditions', true ) ) { $this->conditional = get_post_meta( $post_id, '_generate_element_display_conditions', true ); } if ( get_post_meta( $post_id, '_generate_element_exclude_conditions', true ) ) { $this->exclude = get_post_meta( $post_id, '_generate_element_exclude_conditions', true ); } if ( get_post_meta( $post_id, '_generate_element_user_conditions', true ) ) { $this->users = get_post_meta( $post_id, '_generate_element_user_conditions', true ); } if ( 'custom' === $this->hook && $this->custom_hook ) { $this->hook = $this->custom_hook; } $display = apply_filters( 'generate_hook_element_display', GeneratePress_Conditions::show_data( $this->conditional, $this->exclude, $this->users ), $post_id ); /** * Simplify filter name. * * @since 2.0.0 */ $display = apply_filters( 'generate_element_display', $display, $post_id ); if ( $display ) { global $generate_elements; $generate_elements[ $post_id ] = array( 'is_block_element' => false, 'type' => 'hook', 'id' => $post_id, ); if ( 'generate_header' === $this->hook && $this->disable_site_header ) { remove_action( 'generate_header', 'generate_construct_header' ); } if ( 'generate_footer' === $this->hook && $this->disable_site_footer ) { remove_action( 'generate_footer', 'generate_construct_footer' ); add_filter( 'generate_footer_widgets', '__return_null' ); } add_action( esc_attr( $this->hook ), array( $this, 'execute_hook' ), absint( $this->priority ) ); } } /** * Output our hook content. * * @since 1.7 */ public function execute_hook() { $content = $this->content; if ( $this->shortcodes ) { $content = do_shortcode( $content ); } if ( $this->php && GeneratePress_Elements_Helper::should_execute_php() ) { ob_start(); eval( '?>' . $content . '