🔐 Sid Gifari File Manager Pro
v8.0.5 | 2026-08-07 07:05:20 | PHP 8.2.32
📂
/ (Root)
/
home
/
eliteewa
/
public_html
/
wp-content
/
plugins
/
easy-accordion-free
/
Blocks
/
Includes
📍 /home/eliteewa/public_html/wp-content/plugins/easy-accordion-free/Blocks/Includes
🔄 Refresh
✏️
Editing: ShortcodeBlock.php
Writable
<?php /** * Block Name Template Renderer File. * * Description of what this template does. * * @since 3.2.0 * @version 1.0.0 * * @package EasyAccordion/Blocks */ namespace ShapedPlugin\EasyAccordion\Blocks\Includes; // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { die; } /** * ShortcodeBlock. */ class ShortcodeBlock { /** * This plugin's instance. * * @var Blocks */ private static $instance; /** * Main Blocks Instance. * * Insures that only one instance of Blocks exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @static * @return object|Blocks The one true Blocks */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); self::$instance->init(); } return self::$instance; } /** * Method init * * @return void */ public function init() { if ( $this->sp_eap_is_shortcode_block_visible() ) { $this->sp_eab_shortcode_block_register(); // add block assets. add_action( 'enqueue_block_assets', array( $this, 'eab_shortcode_block_enqueue_file' ) ); } } /** * Method eab_shortcode_block_enqueue_file. * * @return void */ public function eab_shortcode_block_enqueue_file() { wp_register_script( 'sp_eab_admin_index_js', plugin_dir_url( __FILE__ ) . '../build/ea-blocks.js', array(), SP_EA_VERSION, true ); wp_localize_script( 'sp_eab_admin_index_js', 'sp_easy_accordion_pro', array( 'shortCodeList' => $this->sp_easy_accordion_pro_post_list(), ) ); } /** * Shortcode list. * * @return array */ public function sp_easy_accordion_pro_post_list() { $shortcodes = get_posts( array( 'post_type' => 'sp_easy_accordion', 'post_status' => 'publish', 'posts_per_page' => 999, ) ); if ( count( $shortcodes ) < 1 ) { return array(); } return array_map( function ( $shortcode ) { return (object) array( 'id' => absint( $shortcode->ID ), 'title' => esc_html( $shortcode->post_title ), ); }, $shortcodes ); } /** * Register Gutenberg shortcode block. */ public function sp_eab_shortcode_block_register() { $attributes = array( 'shortcode' => array( 'type' => 'string', 'default' => '', ), 'showInputShortcode' => array( 'type' => 'boolean', 'default' => true, ), 'preview' => array( 'type' => 'boolean', 'default' => false, ), 'is_admin' => array( 'type' => 'boolean', 'default' => is_admin(), ), 'align' => array( 'type' => 'string', 'default' => 'none', ), ); register_block_type( 'sp-easy-accordion-pro/shortcode', array( 'attributes' => $attributes, 'editor_script' => array( 'sp_eab_admin_index_js' ), 'render_callback' => array( $this, 'sp_eap_render_shortcode' ), ) ); } /** * Render callback. * * @param string $attributes Shortcode. * @return string */ public function sp_eap_render_shortcode( $attributes ) { // class name. $align = sanitize_key( $attributes['align'] ?? 'none' ); $class_name = 'align' . $align; return '<div class="' . esc_attr( $class_name ) . '">' . do_shortcode( '[sp_easyaccordion id="' . absint( $attributes['shortcode'] ) . '"]' ) . '</div>'; } /** * Check if SP Easy Accordion shortcode block is enabled to show. * * @return bool */ public function sp_eap_is_shortcode_block_visible() { $blocks_visibility = (array) get_option( 'sp_easy_accordion_visibility_settings', array() ); foreach ( $blocks_visibility as $block ) { if ( 'sp-easy-accordion-pro/shortcode' === $block['name'] ) { return (bool) $block['show']; } } } }
💾 Save Changes
❌ Cancel