PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.17.14
Shortcodes and extra features for Phlox theme v2.17.14
2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / classes / class-auxin-post-type-base.php
auxin-elements / includes / classes Last commit date
class-auxels-admin-assets.php 1 year ago class-auxels-archive-menu-links.php 1 year ago class-auxels-envato-elements.php 1 year ago class-auxels-import-parser.php 3 years ago class-auxels-import.php 3 years ago class-auxels-search-post-type.php 6 months ago class-auxels-wc-attribute-nav-menu.php 1 year ago class-auxin-admin-dashboard.php 1 year ago class-auxin-demo-importer.php 6 months ago class-auxin-dependency-sorting.php 3 years ago class-auxin-import.php 1 year ago class-auxin-install.php 1 year ago class-auxin-master-nav-menu-admin.php 1 year ago class-auxin-page-template.php 1 year ago class-auxin-permalink.php 1 year ago class-auxin-plugin-requirements.php 3 years ago class-auxin-post-type-base.php 1 year ago class-auxin-svg-support-allowedattributes.php 7 years ago class-auxin-svg-support-allowedtags.php 7 years ago class-auxin-svg-support.php 1 year ago class-auxin-walker-nav-menu-back.php 1 year ago class-auxin-welcome-sections.php 1 year ago class-auxin-welcome.php 6 months ago class-auxin-whitelabel.php 3 years ago class-auxin-widget-indie.php 1 year ago class-auxin-widget-shortcode-map.php 11 months ago class-auxin-widget.php 1 year ago
class-auxin-post-type-base.php
203 lines
1 <?php
2 /**
3 * Add new post type and corresponding taxonomies
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2025 averta
11 */
12
13 // no direct access allowed
14 if ( ! defined('ABSPATH') ) exit;
15
16
17 if( ! class_exists( 'Auxin_Post_Type_Base' ) ){
18
19
20 /**
21 * Register custom post type and taxonomies
22 *
23 */
24 class Auxin_Post_Type_Base {
25
26 /**
27 * The custom post type name
28 *
29 * @var string
30 */
31 protected $post_type = '';
32
33 /**
34 * Prefix for theme mods
35 *
36 * @var string
37 */
38 protected $prefix = 'auxin_';
39
40 /**
41 * The instance of WP_Post_Type class
42 *
43 * @var WP_Post_Type
44 */
45 private $wp_post_type;
46
47
48 public function __construct( $post_type = '' ) {
49
50 if( ! empty( $post_type ) ){
51 $this->post_type = $post_type;
52 }
53 if( ! $this->post_type ){
54 return;
55 }
56
57 // Filter the list of columns to print on the manage posts screen
58 add_filter( "manage_edit-{$this->post_type}_columns", array( $this, 'manage_edit_columns' ) );
59
60 // Filter the list of columns shown when listing posts of the post type
61 add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_posttype_custom_columns' ) );
62
63 // Add post type capabilities
64 add_action( 'admin_init', array( $this, 'assign_post_type_capabilities' ) );
65 }
66
67
68 /**
69 * Retrieves/Returns the instance of WP_Post_Type class instead of current class
70 *
71 * @return void
72 */
73 public function __toString(){
74 return $this->wp_post_type;
75 }
76
77 /**
78 * Register post type & taxonomies instantly
79 *
80 * @return void
81 */
82 public function register() {
83 // Register the post type and get corresponding WP_Post_Type instance
84 $this->wp_post_type = $this->register_post_type();
85
86 // Register the taxonomies
87 $this->register_taxonomies();
88 }
89
90 /**
91 * Register post type & taxonomies via init hook
92 *
93 * @return void
94 */
95 public function register_hooks() {
96 // Add post types
97 add_action( 'init', array( $this, 'register_post_type' ), 0 );
98
99 // Add taxonomies
100 add_action( 'init', array( $this, 'register_taxonomies' ), 0 );
101 }
102
103 /**
104 * Register post type
105 *
106 * @return void
107 */
108 public function register_post_type() { }
109
110
111 /**
112 * Register taxonomies
113 *
114 * @return void
115 */
116 public function register_taxonomies() { }
117
118
119 /**
120 * Customizing post type list Columns
121 *
122 * @param array $column An array of column name => label
123 * @return array List of columns shown when listing posts of the post type
124 */
125 public function manage_edit_columns( $columns ){ }
126
127
128 /**
129 * Applied to the list of columns to print on the manage posts screen for current post type
130 *
131 * @param array $column An array of column name => label
132 * @return array List of columns shown when listing posts of the post type
133 */
134 public function manage_posttype_custom_columns( $column ){ }
135
136
137 /**
138 * Remove featured image box
139 *
140 * @return void
141 */
142 public function remove_thumbnail_box(){
143 remove_meta_box( 'postimagediv', $this->post_type, 'side' );
144 }
145
146 /**
147 * Auto assign custom post type capabilities
148 *
149 * @return void
150 */
151 public function assign_post_type_capabilities(){
152
153 // check if custom capabilities are already added
154 if( get_option( "auxin_{$this->post_type}_capabilities_added", 0 ) ){
155 return;
156 }
157
158 global $wp_roles;
159
160 if ( class_exists( 'WP_Roles' ) ) {
161 if ( ! isset( $wp_roles ) ) {
162 $wp_roles = new WP_Roles();
163 }
164 }
165
166 if ( is_object( $wp_roles ) ) {
167
168 $capabilities = array(
169 "edit_{$this->post_type}",
170 "read_{$this->post_type}",
171 "delete_{$this->post_type}",
172 "edit_{$this->post_type}s",
173 "edit_others_{$this->post_type}s",
174 "publish_{$this->post_type}s",
175 "read_private_{$this->post_type}s",
176 "delete_{$this->post_type}s",
177 "delete_private_{$this->post_type}s",
178 "delete_published_{$this->post_type}s",
179 "delete_others_{$this->post_type}s",
180 "edit_private_{$this->post_type}s",
181 "edit_published_{$this->post_type}s",
182 // Terms
183 "manage_{$this->post_type}_terms",
184 "edit_{$this->post_type}_terms",
185 "delete_{$this->post_type}_terms",
186 "assign_{$this->post_type}_terms"
187 );
188
189 foreach ( $capabilities as $cap ) {
190 $wp_roles->add_cap( 'administrator', $cap );
191 $wp_roles->add_cap( 'editor' , $cap );
192 }
193
194 update_option( "auxin_{$this->post_type}_capabilities_added", 1, false );
195 }
196
197 }
198
199 }
200
201
202 }
203