PluginProbe ʕ •ᴥ•ʔ
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid / 4.2.0
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid v4.2.0
7.9.3 7.9.2 trunk 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2.0 4.2.1 4.2.2 4.2.3 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 6.0.0 7.0.0 7.0.1 7.0.2 7.1.0 7.2.0 7.2.1 7.2.10 7.2.11 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.3.0 7.3.1 7.4.0 7.4.1 7.4.2 7.4.3 7.5.0 7.6.0 7.6.1 7.7.0 7.7.1 7.7.10 7.7.11 7.7.12 7.7.13 7.7.14 7.7.15 7.7.16 7.7.17 7.7.18 7.7.19 7.7.2 7.7.20 7.7.21 7.7.22 7.7.3 7.7.4 7.7.5 7.7.6 7.7.7 7.7.8 7.7.9 7.8.0 7.8.1 7.8.2 7.8.3 7.8.4 7.8.5 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1
the-post-grid / app / Controllers / GutenBergController.php
the-post-grid / app / Controllers Last commit date
Admin 3 years ago Hooks 3 years ago AjaxController.php 3 years ago ElementorController.php 3 years ago GutenBergController.php 3 years ago ScriptController.php 3 years ago ShortcodeController.php 3 years ago WidgetController.php 3 years ago
GutenBergController.php
86 lines
1 <?php
2 /**
3 * Elementor Controller class.
4 *
5 * @package RT_TPG
6 */
7
8 namespace RT\ThePostGrid\Controllers;
9
10 use RT\ThePostGrid\Helpers\Fns;
11
12 // Do not allow directly accessing this file.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit( 'This script cannot be accessed directly.' );
15 }
16
17 /**
18 * Elementor Controller class.
19 */
20 class GutenBergController {
21 /**
22 * Class constructor
23 */
24 public function __construct() {
25 add_action( 'enqueue_block_assets', [ $this, 'block_assets' ] );
26 add_action( 'enqueue_block_editor_assets', [ $this, 'block_editor_assets' ] );
27
28 if ( function_exists( 'register_block_type' ) ) {
29 register_block_type(
30 'rttpg/post-grid',
31 [ 'render_callback' => [ $this, 'render_shortcode' ] ]
32 );
33 }
34 }
35
36 /**
37 * Render
38 *
39 * @param array $atts Attributes.
40 * @return string
41 */
42 public static function render_shortcode( $atts ) {
43 if ( ! isset( $atts['gridId'] ) && empty( isset( $atts['gridId'] ) ) ) {
44 return;
45 };
46
47 return do_shortcode( '[the-post-grid id="' . absint( $atts['gridId'] ) . '"]' );
48 }
49
50 /**
51 * Block assets
52 *
53 * @return void
54 */
55 public function block_assets() {
56 wp_enqueue_style( 'wp-blocks' );
57 }
58
59 /**
60 * Block editor assets
61 *
62 * @return void
63 */
64 public function block_editor_assets() {
65 // Scripts.
66 wp_enqueue_script(
67 'rt-tpg-cgb-block-js',
68 rtTPG()->get_assets_uri( 'js/post-grid-blocks.js' ),
69 [ 'wp-blocks', 'wp-i18n', 'wp-element' ],
70 ( defined( 'WP_DEBUG' ) && WP_DEBUG ) ? time() : RT_THE_POST_GRID_VERSION,
71 true
72 );
73
74 wp_localize_script(
75 'rt-tpg-cgb-block-js',
76 'rttpgGB',
77 [
78 'short_codes' => Fns::getAllTPGShortCodeList(),
79 'icon' => rtTPG()->get_assets_uri( 'images/icon-16x16.png' ),
80 ]
81 );
82
83 wp_enqueue_style( 'wp-edit-blocks' );
84 }
85 }
86