Elementor\Frontend::get_builder_content_for_display PHP Метод

get_builder_content_for_display() публичный Метод

public get_builder_content_for_display ( $post_id )
    public function get_builder_content_for_display($post_id)
    {
        if (!get_post($post_id)) {
            return '';
        }
        // Avoid recursion
        if (get_the_ID() === (int) $post_id) {
            $content = '';
            if (Plugin::instance()->editor->is_edit_mode()) {
                $content = '<div class="elementor-alert elementor-alert-danger">' . __('Invalid Data: The Template ID cannot be the same as the currently edited template. Please choose a different one.', 'elementor') . '</div>';
            }
            return $content;
        }
        // Set edit mode as false, so don't render settings and etc. use the $is_edit_mode to indicate if we need the css inline
        $is_edit_mode = Plugin::instance()->editor->is_edit_mode();
        Plugin::instance()->editor->set_edit_mode(false);
        // Change the global post to current library post, so widgets can use `get_the_ID` and other post data
        if (isset($GLOBALS['post'])) {
            $global_post = $GLOBALS['post'];
        }
        $GLOBALS['post'] = get_post($post_id);
        $content = $this->get_builder_content($post_id, $is_edit_mode);
        // Restore global post
        if (isset($global_post)) {
            $GLOBALS['post'] = $global_post;
        } else {
            unset($GLOBALS['post']);
        }
        // Restore edit mode state
        Plugin::instance()->editor->set_edit_mode($is_edit_mode);
        return $content;
    }