PluginProbe
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid / 5.0.4
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid v5.0.4
7.9.4 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 All 87 releases
the-post-grid / app / Controllers / PageTemplateController.php
PageTemplateController.php
67 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Page Template Controller class.
4 *
5 * @package RT_TPG
6 */
7
8 namespace RT\ThePostGrid\Controllers;
9
10 // Do not allow directly accessing this file.
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit( 'This script cannot be accessed directly.' );
13 }
14
15 class PageTemplateController {
16
17 /**
18 * PageTemplateController constructor
19 */
20 public function __construct() {
21 add_filter( 'template_include', array( $this, 'template_load' ) );
22
23 $post_types = get_post_types();
24 if ( ! empty( $post_types ) ) {
25 foreach ( $post_types as $post_type ) {
26 add_filter( "theme_{$post_type}_templates", array( $this, 'add_template' ) );
27 }
28 }
29 }
30
31
32 /**
33 * Load Template from plugin
34 *
35 * @param $template
36 *
37 * @return mixed|string
38 */
39 public function template_load( $template ) {
40 if ( is_singular() ) {
41 $page_template = get_post_meta( get_the_ID(), '_wp_page_template', true );
42 if ( $page_template === 'rttpg_full_width' ) {
43 $template = RT_THE_POST_GRID_PLUGIN_PATH . '/templates/page-template/template-full-width.php';
44 }
45 if ( $page_template === 'rttpg_canvas' ) {
46 $template = RT_THE_POST_GRID_PLUGIN_PATH . '/templates/page-template/template-canvas.php';
47 }
48 }
49
50 return $template;
51 }
52
53
54 /**
55 * Add template in dropdown of the editor
56 *
57 * @param $post_templates
58 *
59 * @return mixed
60 */
61 public function add_template( $post_templates ) {
62 $post_templates['rttpg_full_width'] = __( 'The Post Grid Full Width', 'the-post-grid' );
63 $post_templates['rttpg_canvas'] = __( 'The Post Grid Canvas', 'the-post-grid' );
64
65 return $post_templates;
66 }
67 }