1: <?php
2:
3: 4: 5: 6: 7: 8: 9:
10: function papi_filter_conditional_rule_allowed( $rule ) {
11: $rule = papi_rule( $rule );
12:
13: if ( ! papi_is_rule( $rule ) ) {
14: return false;
15: }
16:
17: $result = apply_filters(
18: 'papi/conditional/rule/' . $rule->operator,
19: $rule
20: );
21:
22: if ( $result === true || $result === false ) {
23: return $result;
24: }
25:
26: return false;
27: }
28:
29: 30: 31: 32: 33:
34: function papi_filter_core_load_one_type_on() {
35: $default = ['attachment'];
36: $result = apply_filters(
37: 'papi/core/load_one_type_on',
38: $default
39: );
40:
41: return is_array( $result ) ? $result : $default;
42: }
43:
44: 45: 46: 47: 48: 49: 50: 51: 52: 53:
54: function papi_filter_format_value( $type, $value, $slug, $post_id ) {
55: return apply_filters(
56: 'papi/format_value/' . $type,
57: $value,
58: $slug,
59: $post_id
60: );
61: }
62:
63: 64: 65: 66: 67: 68: 69: 70: 71: 72:
73: function papi_filter_load_value( $type, $value, $slug, $post_id ) {
74: return apply_filters(
75: 'papi/load_value/' . $type,
76: $value,
77: $slug,
78: $post_id
79: );
80: }
81:
82: 83: 84: 85: 86:
87: function papi_filter_settings_directories() {
88: $directories = apply_filters(
89: 'papi/settings/directories',
90: []
91: );
92:
93: if ( is_string( $directories ) ) {
94: return [$directories];
95: }
96:
97: if ( ! is_array( $directories ) ) {
98: return [];
99: }
100:
101: return array_filter( $directories, function ( $directory ) {
102: return is_string( $directory );
103: } );
104: }
105:
106: 107: 108: 109: 110: 111: 112:
113: function papi_filter_settings_only_page_type( $post_type ) {
114: $page_type = apply_filters(
115: 'papi/settings/only_page_type_' . $post_type,
116: ''
117: );
118:
119: if ( ! is_string( $page_type ) ) {
120: return '';
121: }
122:
123: return str_replace( '.php', '', $page_type );
124: }
125:
126: 127: 128: 129: 130: 131: 132:
133: function papi_filter_settings_page_type_column_title( $post_type ) {
134: return apply_filters(
135: 'papi/settings/column_title_' . $post_type,
136: __( 'Type', 'papi' )
137: );
138: }
139:
140: 141: 142: 143: 144: 145: 146: 147:
148: function papi_filter_settings_show_page_type( $post_type, $page_type ) {
149: if ( is_object( $page_type ) && method_exists( $page_type, 'get_id' ) ) {
150: $page_type = $page_type->get_id();
151: }
152:
153: $value = apply_filters(
154: 'papi/settings/show_page_type_' . $post_type,
155: $page_type
156: );
157:
158: if ( $value === $page_type ) {
159: return true;
160: }
161:
162: if ( ! is_bool( $value ) ) {
163: return false;
164: }
165:
166: return $value;
167: }
168:
169: 170: 171: 172: 173: 174: 175:
176: function papi_filter_settings_standard_page_description( $post_type ) {
177: $name = papi_get_post_type_label( $post_type, 'singular_name', 'Page' );
178:
179: return apply_filters(
180: 'papi/settings/standard_page_description_' . $post_type,
181: sprintf( __( '%s with WordPress standard fields', 'papi' ), $name )
182: );
183: }
184:
185: 186: 187: 188: 189: 190: 191:
192: function papi_filter_settings_standard_page_name( $post_type ) {
193: $name = papi_get_post_type_label( $post_type, 'singular_name', 'Page' );
194:
195: return apply_filters(
196: 'papi/settings/standard_page_name_' . $post_type,
197: sprintf( __( 'Standard %s', 'papi' ), $name )
198: );
199: }
200:
201: 202: 203: 204: 205: 206: 207:
208: function papi_filter_settings_show_standard_page_type( $post_type ) {
209: return ! apply_filters(
210: 'papi/settings/show_standard_page_type_' . $post_type,
211: false
212: ) === false;
213: }
214:
215: 216: 217: 218: 219: 220: 221:
222: function papi_filter_settings_show_standard_page_type_in_filter( $post_type ) {
223: return ! apply_filters(
224: 'papi/settings/show_standard_page_type_in_filter_' . $post_type,
225: papi_filter_settings_show_standard_page_type( $post_type )
226: ) === false;
227: }
228:
229: 230: 231: 232: 233: 234: 235:
236: function papi_filter_settings_standard_page_thumbnail( $post_type ) {
237: return apply_filters(
238: 'papi/settings/standard_page_thumbnail_' . $post_type,
239: ''
240: );
241: }
242:
243: 244: 245: 246: 247:
248: function papi_filter_settings_sort_order() {
249: return intval( apply_filters( 'papi/settings/sort_order', 1000 ) );
250: }
251:
252: 253: 254: 255: 256: 257: 258: 259: 260: 261:
262: function papi_filter_update_value( $type, $value, $slug, $post_id ) {
263: return apply_filters(
264: 'papi/update_value/' . $type,
265: $value,
266: $slug,
267: $post_id
268: );
269: }
270: