PluginProbe ʕ •ᴥ•ʔ
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid / 7.8.8
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid v7.8.8
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 / Blocks / SectionTitle.php
the-post-grid / app / Controllers / Blocks Last commit date
BlockController 8 months ago BlockBase.php 8 months ago GridHoverLayout.php 8 months ago GridLayout.php 8 months ago ListLayout.php 8 months ago RttpgRow.php 8 months ago SectionTitle.php 8 months ago
SectionTitle.php
80 lines
1 <?php
2
3 namespace RT\ThePostGrid\Controllers\Blocks;
4
5 use RT\ThePostGrid\Controllers\Blocks\BlockController\SectionTitleSettingsStyle;
6 use RT\ThePostGrid\Helpers\Fns;
7
8 class SectionTitle extends BlockBase {
9
10 private $block_type;
11
12 public function __construct() {
13 add_action( 'init', [ $this, 'register_blocks' ] );
14 $this->block_type = 'rttpg/tpg-section-title';
15 }
16
17 /**
18 * Register Block
19 *
20 * @return void
21 */
22 public function register_blocks() {
23 if ( ! function_exists( 'register_block_type' ) ) {
24 return;
25 }
26 register_block_type(
27 $this->block_type,
28 [
29 'attributes' => $this->get_attributes(),
30 'render_callback' => [ $this, 'render_block' ],
31 ]
32 );
33 }
34
35 /**
36 * Get attributes
37 *
38 * @param bool $default
39 *
40 * @return array
41 */
42 public function get_attributes() {
43
44 /**
45 * All Attribute
46 * Content Tab | Settings Tab | Style Tab
47 */
48
49 return SectionTitleSettingsStyle::get_controller();
50 }
51
52 /**
53 * @param array $data
54 *
55 * @return false|string
56 */
57 public function render_block( $data ) {
58 $uniqueId = isset( $data['uniqueId'] ) ? $data['uniqueId'] : null;
59 $uniqueClass = 'rttpg-block-postgrid rttpg-block-wrapper rttpg-block-' . $uniqueId;
60 $dynamicClass = $uniqueClass;
61 $dynamicClass .= ! empty( $data['section_title_style'] ) ? " section-title-style-{$data['section_title_style']}" : null;
62 $dynamicClass .= ! empty( $data['section_title_alignment'] ) ? " section-title-align-{$data['section_title_alignment']}" : null;
63 $dynamicClass .= ! empty( $data['enable_external_link'] ) && $data['enable_external_link'] === 'show' ? ' has-external-link' : '';
64
65 ob_start();
66 ?>
67 <div class="<?php echo esc_attr( $dynamicClass ); ?>">
68 <div class="rt-container-fluid rt-tpg-container tpg-el-main-wrapper tpg-gutenberg clearfix">
69 <div class='tpg-header-wrapper'>
70 <?php Fns::get_section_title( $data, true ); ?>
71 </div>
72 </div>
73 </div>
74 <?php
75
76 do_action( 'tpg_elementor_script' );
77
78 return ob_get_clean();
79 }
80 }