PluginProbe ʕ •ᴥ•ʔ
Royal Addons for Elementor – Addons and Templates Kit for Elementor / 1.7.1064
Royal Addons for Elementor – Addons and Templates Kit for Elementor v1.7.1064
1.7.1064 1.7.1063 1.7.1062 1.7.1061 1.7.1060 1.7.1059 1.7.1058 trunk 1.0.0 1.1.0 1.2 1.3 1.3.1 1.3.2 1.3.21 1.3.22 1.3.23 1.3.24 1.3.25 1.3.26 1.3.27 1.3.28 1.3.29 1.3.30 1.3.31 1.3.32 1.3.33 1.3.34 1.3.35 1.3.36 1.3.37 1.3.38 1.3.39 1.3.40 1.3.41 1.3.42 1.3.43 1.3.44 1.3.45 1.3.46 1.3.47 1.3.48 1.3.49 1.3.50 1.3.51 1.3.52 1.3.53 1.3.54 1.3.55 1.3.56 1.3.57 1.3.58 1.3.59 1.3.60 1.3.61 1.3.62 1.3.63 1.3.64 1.3.65 1.3.66 1.3.67 1.3.68 1.3.69 1.3.70 1.3.71 1.3.72 1.3.73 1.3.74 1.3.75 1.3.76 1.3.77 1.3.78 1.3.79 1.3.80 1.3.81 1.3.82 1.3.83 1.3.84 1.3.85 1.3.86 1.3.87 1.3.88 1.3.89 1.3.90 1.3.91 1.3.92 1.3.93 1.3.94 1.3.95 1.3.96 1.3.97 1.3.971 1.3.972 1.3.973 1.3.974 1.3.975 1.3.976 1.3.977 1.3.978 1.3.979 1.3.980 1.3.981 1.3.982 1.3.983 1.3.984 1.3.985 1.3.986 1.3.987 1.7.1 1.7.1001 1.7.1002 1.7.1003 1.7.1004 1.7.1005 1.7.1006 1.7.1007 1.7.1008 1.7.1009 1.7.1010 1.7.1011 1.7.1012 1.7.1013 1.7.1014 1.7.1015 1.7.1016 1.7.1017 1.7.1018 1.7.1019 1.7.1020 1.7.1021 1.7.1022 1.7.1023 1.7.1024 1.7.1025 1.7.1026 1.7.1027 1.7.1028 1.7.1029 1.7.1030 1.7.1031 1.7.1032 1.7.1033 1.7.1034 1.7.1035 1.7.1036 1.7.1037 1.7.1038 1.7.1039 1.7.1040 1.7.1041 1.7.1042 1.7.1043 1.7.1044 1.7.1045 1.7.1046 1.7.1047 1.7.1048 1.7.1049 1.7.1050 1.7.1051 1.7.1052 1.7.1053 1.7.1054 1.7.1055 1.7.1056 1.7.1057
royal-elementor-addons / admin / includes / wpr-templates-library.php
royal-elementor-addons / admin / includes Last commit date
wpr-conditions-manager.php 5 days ago wpr-editor-hooks.php 5 days ago wpr-render-templates.php 5 days ago wpr-templates-actions.php 5 days ago wpr-templates-category-filter.php 5 days ago wpr-templates-library.php 5 days ago wpr-templates-loop.php 5 days ago wpr-templates-modal-popups.php 5 days ago wpr-templates-shortcode.php 5 days ago
wpr-templates-library.php
138 lines
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit; // Exit if accessed directly.
5 }
6
7 use WprAddons\Admin\Includes\WPR_Render_Templates;
8 use WprAddons\Admin\Includes\WPR_Templates_Shortcode;
9 use WprAddons\Admin\Includes\WPR_Templates_Modal_Popups;
10 use WprAddons\Admin\Includes\WPR_Templates_Actions;
11 use WprAddons\Admin\Templates\Library\WPR_Templates_Library_Blocks;
12 use WprAddons\Admin\Templates\Library\WPR_Templates_Library_Sections;
13 use WprAddons\Admin\Templates\Library\WPR_Templates_Library_Pages;
14 use WprAddons\Admin\Templates\Library\WPR_Templates_Library_Popups;
15 use WprAddons\Classes\Utilities;
16
17 /**
18 * WPR_Templates_Library setup
19 *
20 * @since 1.0
21 */
22 class WPR_Templates_Library {
23
24 /**
25 ** Constructor
26 */
27 public function __construct() {
28
29 // Register CPTs
30 add_action( 'init', [ $this, 'register_templates_library_cpt' ] );
31 add_action( 'template_redirect', [ $this, 'block_template_frontend' ] );
32 add_action( 'current_screen', [ $this, 'redirect_to_options_page' ] );
33
34 // Templates Shortcode
35 new WPR_Templates_Shortcode();
36
37 // Init Popups
38 new WPR_Templates_Modal_Popups();
39
40 // Init Theme Builder
41 new WPR_Render_Templates();
42
43 // Template Actions
44 new WPR_Templates_Actions();
45
46 // Add Blocks to Library
47 new WPR_Templates_Library_Blocks();
48
49 // Add Sections to Library
50 new WPR_Templates_Library_Sections();
51
52 // Add Pages to Library
53 new WPR_Templates_Library_Pages();
54
55 // Add Popups to Library
56 new WPR_Templates_Library_Popups();
57
58 // Enable Elementor for 'wpr_templates'
59 $this->add_elementor_cpt_support();
60
61 }
62
63 /**
64 ** Register Templates Library
65 */
66 public function redirect_to_options_page() {
67 if ( get_current_screen()->post_type == 'wpr_templates' && isset($_GET['action']) && $_GET['action'] == 'edit' ) {
68 $elementor_template_type = isset($_GET['post']) ? sanitize_text_field(wp_unslash($_GET['post'])) : '';
69
70 if ( 'wpr-popups' === Utilities::get_elementor_template_type( $elementor_template_type ) ) {
71 wp_redirect('admin.php?page=wpr-popups');
72 } else {
73 wp_redirect('admin.php?page=wpr-theme-builder');
74 }
75 }
76 }
77
78 public function register_templates_library_cpt() {
79
80 $args = array(
81 'label' => esc_html__( 'Royal Templates', 'wpr-addons' ),
82 'public' => true,
83 'rewrite' => false,
84 'show_ui' => true,
85 'show_in_menu' => false,
86 'show_in_nav_menus' => false,
87 'exclude_from_search' => true,
88 'capability_type' => 'post',
89 'hierarchical' => false,
90 );
91
92 register_post_type( 'wpr_templates', $args );
93
94 $tax_args = [
95 'hierarchical' => true,
96 'show_ui' => true,
97 'show_in_nav_menus' => false,
98 'show_admin_column' => true,
99 'query_var' => is_admin(),
100 'rewrite' => false,
101 'public' => false,
102 ];
103
104 register_taxonomy( 'wpr_template_type', 'wpr_templates', $tax_args );
105
106 }
107
108 /**
109 ** Don't display on the frontend for non edit_posts capable users
110 */
111 public function block_template_frontend() {
112 if ( is_singular( 'wpr_templates' ) && ! current_user_can( 'edit_posts' ) ) {
113 wp_redirect( site_url(), 301 );
114 die;
115 }
116 }
117
118 /**
119 *** Add elementor support for wpr_templates.
120 **/
121 function add_elementor_cpt_support() {
122 if ( ! is_admin() ) {
123 return;
124 }
125
126 $cpt_support = get_option( 'elementor_cpt_support' );
127
128 if ( ! $cpt_support ) {
129 update_option( 'elementor_cpt_support', ['post', 'page', 'wpr_templates'] );
130 } elseif ( ! in_array( 'wpr_templates', $cpt_support ) ) {
131 $cpt_support[] = 'wpr_templates';
132 update_option( 'elementor_cpt_support', $cpt_support );
133 }
134 }
135
136 }
137
138 new WPR_Templates_Library();