Preview: GutenbergController.php
Size: 1.87 KB
/home/nshryvcy/blissfulnepal.com/wp-content/plugins/tlp-team/app/Controllers/GutenbergController.php
<?php
/**
* Gutenberg Controller Class.
*
* @package RT_Team
*/
namespace RT\Team\Controllers;
use RT\Team\Helpers\Fns;
use RT\Team\Controllers\Frontend\Blocks\Blocks;
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'This script cannot be accessed directly.' );
}
/**
* Gutenberg Controller Class.
*/
class GutenbergController {
use \RT\Team\Traits\SingletonTrait;
/**
* Class Init.
*
* @return void
*/
protected function init() {
add_action( 'enqueue_block_assets', [ $this, 'block_assets' ] );
add_action( 'enqueue_block_editor_assets', [ $this, 'block_editor_assets' ] );
if ( function_exists( 'register_block_type' ) ) {
register_block_type(
'rttpg/tlp-team-pro',
[
'render_callback' => [ __CLASS__, 'render_shortcode' ],
]
);
}
}
/**
* Render Shortcode.
*
* @param array $atts Shortcode attributes.
*
* @return string|void
*/
public static function render_shortcode( $atts ) {
if ( ! empty( $atts['gridId'] ) ) {
return do_shortcode( '[tlpteam id="' . absint( $atts['gridId'] ) . '"]' );
}
}
/**
* Block Assets.
*
* @return void
*/
public function block_assets() {
wp_enqueue_style( 'wp-blocks' );
}
/**
* Block Editor Assets.
*
* @return void
*/
public function block_editor_assets() {
// Scripts.
wp_enqueue_script(
'rt-team-cgb-block-js',
rttlp_team()->assets_url() . 'js/tlp-team-blocks.min.js',
[ 'wp-blocks', 'wp-i18n', 'wp-element' ],
( defined( 'WP_DEBUG' ) && WP_DEBUG ) ? time() : TLP_TEAM_VERSION,
true
);
wp_localize_script(
'rt-team-cgb-block-js',
'rtTeam',
[
'short_codes' => Fns::getTTPShortcodeList(),
'icon' => rttlp_team()->assets_url() . 'images/team.png',
]
);
wp_enqueue_style( 'wp-edit-blocks' );
}
}
Directory Contents
Dirs: 3 × Files: 7