PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 3.0.8
Nested Pages v3.0.8
3.3.1 3.2.15 3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / app / Views / settings / settings-posttypes.php
wp-nested-pages / app / Views / settings Last commit date
settings-general.php 8 years ago settings-posttypes.php 8 years ago settings.php 9 years ago
settings-posttypes.php
329 lines
1 <?php
2 $types = $this->getPostTypes();
3 $thumbnail_sizes = get_intermediate_image_sizes();
4 settings_fields( 'nestedpages-posttypes' );
5 ?>
6
7 <h3><?php _e('Enable Post Types:', 'wp-nested-pages'); ?></h3>
8
9 <div class="nestedpages-settings-table">
10 <?php foreach ($types as $type) : ?>
11 <div class="row-container">
12 <div class="head">
13 <div class="checkbox">
14 <input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>]" value="<?php echo esc_attr($type->name); ?>" <?php if ( $type->np_enabled ) echo 'checked'; ?> data-nestedpages-settings-row-checkbox id="post-type-<?php echo esc_attr($type->name); ?>" />
15 </div>
16 <label for="post-type-<?php echo $type->name; ?>">
17 <?php
18 echo esc_html($type->label);
19 if ( $type->hierarchical ) echo ' <em>(' . __('Hierarchical', 'wp-nested-pages') . ')</em>';
20 ?>
21 </label>
22 <a href="#" class="button" data-toggle-nestedpages-pt-settings><?php _e('Settings', 'wp-nested-pages'); ?></a>
23 </div><!-- .head -->
24 <div class="body">
25 <ul class="settings-details">
26 <li>
27 <div class="row">
28 <div class="description">
29 <p><strong><?php _e('Replace Default Menu', 'wp-nested-pages'); ?>*</strong><br />
30 <?php _e('Replace the default top-level item with the nested view link.', 'wp-nested-pages'); ?></p>
31 </div>
32 <div class="field">
33 <label><input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][replace_menu]" value="true" <?php if ( $type->replace_menu ) echo 'checked'; ?> /><?php echo __('Replace Default', 'wp-nested-pages') . ' ' . esc_html($type->label) . ' ' . __('Menu', 'wp-nested-pages'); ?></label>
34 </div><!-- .field -->
35 </div><!-- .row -->
36 </li>
37 <li>
38 <div class="row">
39 <div class="description">
40 <p><strong><?php _e('Remove Default Link', 'wp-nested-pages'); ?></strong><br />
41 <?php _e('If the default menu is replaced, a link to the default view will be added. Select this to remove the link', 'wp-nested-pages'); ?>
42 </div>
43 <div class="field">
44 <label><input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][hide_default]" value="true" <?php if ( $type->hide_default ) echo 'checked'; ?> /><?php echo __('Hide Default', 'wp-nested-pages') . ' ' . esc_html($type->label) . ' ' . __('Link', 'wp-nested-pages'); ?></label>
45 </div>
46 </div><!-- .row -->
47 </li>
48 <li>
49 <div class="row">
50 <div class="description">
51 <p><strong><?php _e('Disable Sorting', 'wp-nested-pages'); ?></strong><br />
52 <?php _e('Remove drag and drop sorting from this post type.', 'wp-nested-pages'); ?></p>
53 </div>
54 <div class="field">
55 <label><input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][disable_sorting]" value="true" <?php if ( $type->disable_sorting ) echo 'checked'; ?> /><?php echo __('Disable Sorting', 'wp-nested-pages') ?></label>
56 </div><!-- .field -->
57 </div><!-- .row -->
58 </li>
59 <?php if ( $type->hierarchical ) : ?>
60 <li>
61 <div class="row">
62 <div class="description">
63 <p><strong><?php _e('Disable Nesting', 'wp-nested-pages'); ?>**</strong><br>
64 <?php _e('To disable nesting on hierarchical post types, select this option.', 'wp-nested-pages'); ?></p>
65 </div>
66 <div class="field">
67 <label><input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][disable_nesting]" value="true" <?php if ( $type->disable_nesting ) echo 'checked '; ?>/><?php echo __('Disable Nesting for', 'wp-nested-pages') . ' ' . esc_html($type->label); ?></label>
68 </div>
69 </div><!-- .row -->
70 </li>
71 <?php endif; ?>
72 <li>
73 <div class="row">
74 <div class="description">
75 <p><strong><?php _e('Assign Page for Listing', 'wp-nested-pages'); ?></strong><br />
76 <?php _e('Adds contextual links and post counts to the page row for the assigned post type.', 'wp-nested-pages'); ?></p>
77 </div>
78 <div class="field">
79 <label><input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][post_type_page_assignment]" <?php if ( $type->page_assignment && $this->post_repo->postExists($type->page_assignment_id, 'page') ) echo 'checked'; ?> data-nestedpages-assign-post-type value="true" /><?php _e('Assign Page', 'wp-nested-pages'); ?></label>
80 <input type="hidden" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][post_type_page_assignment_page_id]" data-nested-pages-assign-post-type-id value="<?php if ( $type->page_assignment_id ) echo $type->page_assignment_id; ?>" />
81 <input type="hidden" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][post_type_page_assignment_page_title]" data-nested-pages-assign-post-type-title value="<?php if ( $type->page_assignment_title ) echo $type->page_assignment_title; ?>" />
82
83 <div class="nestedpages-assignment-display" style="display:none;">
84 <div class="nestedpages-page-pt-assignment-selection" data-nestedpages-page-pt-assignment-selection <?php if ( !$type->page_assignment_id || !$this->post_repo->postExists($type->page_assignment_id, 'page') ) echo 'style="display:none;"'?>>
85 <?php if ( $type->page_assignment_id ) : ?>
86 <?php _e('Currently assigned to:', 'wp-nested-pages'); ?> <?php echo $type->page_assignment_title; ?> <a href="#" data-nestedpages-page-pt-assignment-remove>(<?php _e('Remove', 'wp-nested-pages'); ?>)</a>
87 <?php endif; ?>
88 </div>
89 <div class="nestedpages-page-pt-assignment" data-nestedpages-post-search-form <?php if ( $type->page_assignment_id && $this->post_repo->postExists($type->page_assignment_id, 'page') ) echo 'style="display:none"';?>>
90 <?php
91 $recent_pages = $this->listing_repo->recentPosts('page');
92 if ( $recent_pages ) :
93 ?>
94 <input type="search" data-nestedpages-post-search="page" placeholder="<?php _e('Search Pages', 'wp-nested-pages'); ?>" />
95 <div class="np-quickedit-info" style="display:none;" data-nestedpages-no-results><?php _e('No pages were found.', 'wp-nested-pages'); ?></div>
96 <div class="np-default-loading" data-nestedpages-loading>
97 <?php include( NestedPages\Helpers::asset('images/spinner.svg') ); ?>
98 </div>
99 <div class="nestedpages-page-search-results" data-nestedpages-search-results>
100 <ul>
101 <?php foreach($recent_pages as $page) : ?>
102 <li><a href="#" data-assignment-page-id="<?php echo esc_attr($page->ID); ?>" data-assignment-page-title="<?php echo esc_html($page->post_title); ?>"><?php echo esc_html($page->post_title); ?></a></li>
103 <?php endforeach; ?>
104 </ul>
105 </div><!-- .nestedpages-page-search-results -->
106 <?php else : ?>
107 <div class="np-quickedit-info">
108 <?php _e('There are currently no pages available.', 'wp-nested-pages'); ?>
109 </div>
110 <?php endif; ?>
111 </div><!-- .nestedpages-page-pt-assignment -->
112 </div><!-- .nestedpages-assignment-display -->
113 </div><!-- .field -->
114 </div><!-- .row -->
115 </li>
116 <li>
117 <?php
118 $thumbnails_enabled = $this->post_type_repo->thumbnails($type->name, 'enabled');
119 $thumbnail_source = $this->post_type_repo->thumbnails($type->name, 'source');
120 $thumbnail_size = $this->post_type_repo->thumbnails($type->name, 'display_size');
121 ?>
122 <div class="row">
123 <div class="description">
124 <p><strong><?php _e('Display Thumbnails', 'wp-nested-pages'); ?></strong><br>
125 <?php _e('Display the thumbnail in the list sort view.', 'wp-nested-pages'); ?><br><br>
126 <?php _e('Note: Thumbnail width is displayed at a maximum of 80px in the nested pages view. The image is scaled proportionally.', 'wp-nested-pages'); ?></p>
127 </div>
128 <div class="field">
129 <label><input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][thumbnails][display]" value="true" <?php if ( $thumbnails_enabled ) echo 'checked'; ?> data-enable-thumbnails /><?php echo __('Display Thumbnails for', 'wp-nested-pages') . ' ' . esc_html($type->label); ?></label>
130
131 <div class="thumbnail-options" data-thumbnail-options <?php if ( !$thumbnails_enabled ) echo 'style="display:none;"'; ?>>
132 <label><?php _e('Thumbnail Source', 'wp-nested-pages'); ?></label>
133 <select name="nestedpages_posttypes[<?php echo $type->name; ?>][thumbnails][size]">
134 <?php
135 foreach ( $thumbnail_sizes as $size ){
136 echo '<option value="' . esc_attr($size) . '"';
137 if ( $size == $thumbnail_source ) echo ' selected';
138 echo '>' . esc_html($size) . '</option>';
139 }
140 ?>
141 </select>
142
143 <label><?php _e('Thumbnail Display Size', 'wp-nested-pages'); ?></label>
144 <select name="nestedpages_posttypes[<?php echo $type->name; ?>][thumbnails][display_size]">
145 <option value="small" <?php if ( $thumbnail_size == 'small' ) echo ' selected';?>><?php _e('Small', 'wp-nested-pages'); ?>(50px)</option>
146 <option value="medium" <?php if ( $thumbnail_size == 'medium' ) echo ' selected';?>><?php _e('Medium', 'wp-nested-pages'); ?>(80px)</option>
147 <option value="large" <?php if ( $thumbnail_size == 'large' ) echo ' selected';?>><?php _e('Large', 'wp-nested-pages'); ?>(150px)</option>
148 </select>
149 </div><!-- .thumbnail-options -->
150 </div>
151 </div><!-- .row -->
152 </li>
153 <li>
154 <div class="row">
155 <div class="description">
156 <p><strong><?php _e('Configure Standard Fields', 'wp-nested-pages'); ?></strong><br>
157 <?php _e('Remove standard fields from the quick edit form.', 'wp-nested-pages'); ?></p>
158 </div>
159 <div class="field">
160 <label><input type="checkbox" data-toggle-nestedpages-sf-settings name="nestedpages_posttypes[<?php echo $type->name; ?>][standard_fields_enabled]" value="true" <?php if ( $type->standard_fields_enabled ) echo 'checked '; ?>/><?php _e('Configure Standard Fields', 'wp-nested-pages'); ?></label>
161
162 <div class="standard-fields">
163 <h5><?php _e('Check to remove from Quick Edit.', 'wp-nested-pages'); ?></h5>
164 <div class="custom-field-group">
165 <ul>
166 <?php
167 $out = "";
168 foreach ( $this->settings->standardFields($type->name) as $name => $label ) :
169 if ( $name != 'taxonomies' ) :
170 $out .= '<li>';
171 $out .= '<label>';
172 $out .= '<input type="checkbox" name="nestedpages_posttypes[' . esc_attr($type->name) . '][standard_fields][standard][' . esc_attr($name) . ']" value="true"';
173 if ( $name == 'hide_taxonomies' ) $out .= ' data-hide-taxonomies';
174 if ( $this->post_type_repo->fieldEnabled($type->name, 'standard', $name, 'standard_fields') ) $out .= ' checked';
175 $out .= ' />' . esc_html($label);
176 $out .= '</label>';
177 $out .= '</li>';
178 else : // Taxonomies
179 foreach ( $label as $tax_name => $tax_label ) :
180 $disabled = $this->post_type_repo->taxonomyDisabled($tax_name, $type->name);
181 $out .= '<li data-taxonomy-single style="margin-left:20px;';
182 if ( $this->post_type_repo->fieldEnabled($type->name, 'standard', 'hide_taxonomies', 'standard_fields') ) $out .= 'display:none;';
183 $out .= '">';
184 $out .= '<label>';
185 $out .= '<input type="checkbox" name="nestedpages_posttypes[' . esc_attr($type->name) . '][standard_fields][standard][taxonomies][' . esc_attr($tax_name) . ']" value="true"';
186 if ( $disabled ) $out .= ' checked';
187 $out .= ' />' . esc_html($tax_label);
188 $out .= '</label>';
189 $out .= '</li>';
190 endforeach;
191 endif;
192 endforeach;
193 echo $out;
194 ?>
195 </ul>
196 </div><!-- .custom-field-group -->
197 </div><!-- .standard-fields -->
198 </div><!-- .field -->
199 </div><!-- .row -->
200 </li>
201 <?php if ( $this->integrations->plugins->acf->installed ) : ?>
202 <li>
203 <div class="row">
204 <div class="description">
205 <p><strong><?php _e('Configure Custom Fields', 'wp-nested-pages'); ?></strong><br>
206 <?php _e('Set which custom fields display in the quick edit form.', 'wp-nested-pages'); ?></p>
207 </div>
208 <div class="field">
209 <label><input type="checkbox" data-toggle-nestedpages-cf-settings name="nestedpages_posttypes[<?php echo $type->name; ?>][custom_fields_enabled]" value="true" <?php if ( $type->custom_fields_enabled ) echo 'checked'; ?> /><?php _e('Configure Custom Fields', 'wp-nested-pages'); ?></label>
210
211 <div class="custom-fields">
212 <h5><?php _e('Check to Include in Quick Edit.', 'wp-nested-pages'); ?></h5>
213 <?php
214 // Advanced Custom Fields
215 $acf_fields = $this->integrations->plugins->acf->getFieldsForPostType($type->name);
216 if ( $acf_fields ) :
217 $out = '<div class="custom-field-group">';
218 $out .= '<p>' . __('Advanced Custom Fields', 'wp-nested-pages') . '</p>';
219 $out .= '<ul class="indented">';
220 foreach ($acf_fields as $field){
221 $out .= '<li>';
222 $out .= '<label>';
223 $out .= '<input type="checkbox" name="nestedpages_posttypes[' . esc_attr($type)->name . '][custom_fields][acf][' . esc_attr($field['key']) . ']" value="' . esc_attr($field['type']) . '"';
224 if ( $this->post_type_repo->fieldEnabled($type->name, 'acf', $field['key']) ) $out .= ' checked';
225 $out .= '/>' . esc_html($field['label']) . ' (' . esc_html($field['type']) . ')';
226 $out .= '</label>';
227 $out .= '</li>';
228 }
229 $out .= '</ul>';
230 $out .= '</div><!-- .custom-field-group -->';
231 echo $out;
232 else :
233 echo __('No ACF Fields configured for this post type', 'wp-nested-pages');
234 endif;
235 ?>
236 </div><!-- .custom-fields -->
237 </div><!-- .field -->
238 </div><!-- .row -->
239 </li>
240 <?php endif; ?>
241 <?php
242 $h_taxonomies = $this->post_type_repo->getTaxonomies($type->name, true);
243 $f_taxonomies = $this->post_type_repo->getTaxonomies($type->name, false);
244 $taxonomies = array_merge($h_taxonomies, $f_taxonomies);
245 ?>
246 <li>
247 <div class="row">
248 <div class="description">
249 <p><strong><?php _e('Sort Options', 'wp-nested-pages'); ?></strong><br />
250 <?php _e('Add and remove sort options.', 'wp-nested-pages'); ?></p>
251 </div>
252 <div class="field">
253 <div class="nestedpages-sort-options-selection">
254 <label>
255 <input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][sort_options][author]" value="true" <?php if ( $this->post_type_repo->sortOptionEnabled($type->name, 'author') ) echo 'checked'; ?> />
256 <?php _e('Author', 'wp-nested-pages') ?>
257 </label>
258
259 <label>
260 <input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][sort_options][orderby][enabled]" value="true" <?php if ( $this->post_type_repo->sortOptionEnabled($type->name, 'orderby') ) echo 'checked'; ?> data-nestedpages-sort-option-checkbox />
261 <?php _e('Order By', 'wp-nested-pages') ?>
262 </label>
263 <div class="sort-options-default" data-nestedpages-sort-option-default>
264 <label><?php _e('Initial Order By:', 'wp-nested-pages'); ?></label>
265 <select name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][sort_options][orderby][initial]">
266 <?php
267 $options = array(
268 'date' => __('Date', 'wp-nested-pages'),
269 'title' => __('Title', 'wp-nested-pages')
270 );
271 $out = '<option value="">' . __('Default (Menu Order)', 'wp-nested-pages') . '</option>';
272 foreach ( $options as $key => $option ){
273 $out .= '<option value="' . $key . '"';
274 if ( $this->post_type_repo->defaultSortOption($type->name, 'orderby') == $key) $out .= ' selected';
275 $out .= '>' . esc_html($option) . '</option>';
276 }
277 echo $out;
278 ?>
279 </select>
280 </div><!-- .sort-options-default -->
281
282 <label>
283 <input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][sort_options][order][enabled]" value="true" <?php if ( $this->post_type_repo->sortOptionEnabled($type->name, 'order') ) echo 'checked'; ?> data-nestedpages-sort-option-checkbox />
284 <?php _e('Order', 'wp-nested-pages') ?>
285 </label>
286 <div class="sort-options-default" data-nestedpages-sort-option-default>
287 <label><?php _e('Initial Order:', 'wp-nested-pages'); ?></label>
288 <select name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][sort_options][order][initial]">
289 <?php
290 $options = array(
291 'ASC' => __('Ascending', 'wp-nested-pages'),
292 'DESC' => __('Descending', 'wp-nested-pages')
293 );
294 $out = '';
295 foreach ( $options as $key => $option ){
296 $out .= '<option value="' . $key . '"';
297 if ( $this->post_type_repo->defaultSortOption($type->name, 'initial_order') == $key) $out .= ' selected';
298 $out .= '>' . esc_html($option) . '</option>';
299 }
300 echo $out;
301 ?>
302 </select>
303 </div><!-- .sort-options-default -->
304
305 <?php if ( !empty($taxonomies) ) : foreach ( $taxonomies as $tax ) : ?>
306 <label>
307 <input type="checkbox" name="nestedpages_posttypes[<?php echo esc_attr($type->name); ?>][sort_options][taxonomies][<?php echo $tax->name; ?>]" value="true" <?php if ( $this->post_type_repo->sortOptionEnabled($type->name, $tax->name, true) ) echo 'checked'; ?> />
308 <?php echo $tax->label; ?>
309 </label>
310 <?php endforeach; endif; ?>
311
312 <!-- .nestedpages-sort-options-selection -->
313 </div><!-- .field -->
314 </div><!-- .row -->
315 </li>
316 </ul>
317 </div><!-- .body -->
318 </div><!-- .post-type -->
319 <?php endforeach; ?>
320 </div><!-- .nestedpages-settings-posttypes -->
321
322 <div class="nestedpages-settings-disclaimers">
323 <p style="font-size:12px;margin-bottom:15px;">
324 *<?php _e('If default menu is not replaced, an additional submenu item will be added for "Nested/Sort View"', 'wp-nested-pages'); ?>
325 </p>
326 <p style="font-size:12px;">
327 **<?php _e('<strong>Important:</strong> Changing page structures on live sites may effect SEO and existing inbound links. Limit URL structure changes on live sites by disabling nesting. Sorting within the current nesting structure will still be available. If nesting changes are made to a live site, it may help to add a 301 redirect from the old location to the new one.', 'wp-nested-pages'); ?>
328 </p>
329 </div>