Server : nginx/1.24.0 System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE Directory : /var/www/html/wp-content/plugins/ocean-extra/includes/panel/ |
Upload File : |
<?php /** * My Library Shortcode * * @package Ocean_Extra * @category Core * @author OceanWP */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'OceanWP_Library_Shortcode' ) ) { class OceanWP_Library_Shortcode { /** * Start things up */ public function __construct() { add_shortcode( 'oceanwp_library', array( $this, 'library_shortcode' ) ); } /** * Registers the function as a shortcode */ public function library_shortcode( $atts, $content = null ) { // Attributes $atts = shortcode_atts( array( 'id' => '', ), $atts, 'oceanwp_library' ); $id = absint( $atts['id'] ); if ( ! $id ) { return ''; } $owp_post_type = get_post_type( $id ); $owp_post_status = get_post_status( $id ); if ( $owp_post_type !== 'oceanwp_library' || $owp_post_status !== 'publish' ) { return ''; } ob_start(); // Check if the template is created with Elementor $elementor = get_post_meta( $id, '_elementor_edit_mode', true ); // If Elementor if ( class_exists( 'Elementor\Plugin' ) && $elementor ) { echo Elementor\Plugin::instance()->frontend->get_builder_content_for_display( $id ); } // If Beaver Builder. else if ( class_exists( 'FLBuilder' ) && ! empty( $id ) ) { echo do_shortcode( '[fl_builder_insert_layout id="' . esc_attr( $id ) . '"]' ); } // if SiteOrigin. else if ( class_exists( 'SiteOrigin_Panels' ) && get_post_meta( $id, 'panels_data', true ) ) { echo SiteOrigin_Panels::renderer()->render( $id ); } // Else else { // Get template content $content = ''; if ( ! empty( $id ) ) { $template = get_post( $id ); if ( is_object( $template ) && ! is_wp_error( $template ) ) { $content = $template->post_content; } // If Gutenberg. if ( function_exists( 'ocean_is_block_template' ) && ocean_is_block_template( $id ) ) { $content = apply_filters( 'oe_library_shortcode_template_content', do_blocks( $content ) ); } } // Display template content. if ( ! empty( $content ) ) { echo do_shortcode( $content ); } } return ob_get_clean(); } } } new OceanWP_Library_Shortcode();