You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.5 KiB
PHP

<?php
/**
* Elementor Controller class.
*
* @package RT_TPG
*/
namespace RT\ThePostGrid\Controllers;
use RT\ThePostGrid\Helpers\Fns;
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'This script cannot be accessed directly.' );
}
class GutenBergController {
function __construct() {
add_action('enqueue_block_assets', array($this, 'block_assets'));
add_action('enqueue_block_editor_assets', array($this, 'block_editor_assets'));
if(function_exists('register_block_type')) {
register_block_type('rttpg/post-grid', array(
'render_callback' => array($this,'render_shortcode'),
));
}
}
static function render_shortcode( $atts ){
if(!empty($atts['gridId']) && $id = absint($atts['gridId'])){
//return do_shortcode( '[the-post-grid id="' . $id . '"]' );
ob_start();
echo do_shortcode( '[the-post-grid id="' . $id . '"]' );
return ob_get_clean();
}
}
function block_assets() {
wp_enqueue_style('wp-blocks');
}
function block_editor_assets() {
// Scripts.
wp_enqueue_script(
'rt-tpg-cgb-block-js',
rtTPG()->get_assets_uri('js/post-grid-blocks.js'),
array('wp-blocks', 'wp-i18n', 'wp-element'),
(defined('WP_DEBUG') && WP_DEBUG) ? time() : RT_THE_POST_GRID_VERSION,
true
);
wp_localize_script('rt-tpg-cgb-block-js', 'rttpgGB', array(
'short_codes' => Fns::getAllTPGShortCodeList(),
'icon' => rtTPG()->get_assets_uri('images/icon-16x16.png'),
));
wp_enqueue_style('wp-edit-blocks');
}
}