Authors.php
9 months ago
Categories.php
9 months ago
Countries.php
6 months ago
DeviceBrowsers.php
9 months ago
DeviceOperatingSystems.php
9 months ago
DeviceTypes.php
9 months ago
FormConversions.php
6 months ago
LinkPatternConversions.php
6 months ago
LinkPatterns.php
9 months ago
PageTypes.php
9 months ago
ReferrerTypes.php
9 months ago
PageTypes.php
40 lines
| 1 | <?php |
| 2 | |
| 3 | namespace IAWP\ColumnOptions\Plugins; |
| 4 | |
| 5 | use IAWP\ColumnOptions\Option; |
| 6 | use IAWP\ColumnOptions\OptionsPlugin; |
| 7 | /** @internal */ |
| 8 | class PageTypes implements OptionsPlugin |
| 9 | { |
| 10 | public function get_options() : array |
| 11 | { |
| 12 | $options = []; |
| 13 | $options[] = new Option('post', \esc_html__('Post', 'independent-analytics')); |
| 14 | $options[] = new Option('page', \esc_html__('Page', 'independent-analytics')); |
| 15 | $options[] = new Option('attachment', \esc_html__('Attachment', 'independent-analytics')); |
| 16 | foreach (\get_post_types(['public' => \true, '_builtin' => \false]) as $custom_type) { |
| 17 | $options[] = new Option($custom_type, \get_post_type_object($custom_type)->labels->singular_name); |
| 18 | } |
| 19 | $options[] = new Option('category', \esc_html__('Category', 'independent-analytics')); |
| 20 | $options[] = new Option('post_tag', \esc_html__('Tag', 'independent-analytics')); |
| 21 | foreach (\get_taxonomies(['public' => \true, '_builtin' => \false]) as $taxonomy) { |
| 22 | $label = \get_taxonomy_labels(\get_taxonomy($taxonomy))->singular_name; |
| 23 | /** |
| 24 | * WooCommerce category and tag taxonomies have the same singular name as WordPress |
| 25 | * category and tag taxonomies, so use the name here instead |
| 26 | */ |
| 27 | if (\in_array($taxonomy, ['product_cat', 'product_tag'])) { |
| 28 | $label = \get_taxonomy_labels(\get_taxonomy($taxonomy))->name; |
| 29 | } |
| 30 | $options[] = new Option($taxonomy, \ucwords($label)); |
| 31 | } |
| 32 | $options[] = new Option('blog-archive', \esc_html__('Blog Home', 'independent-analytics')); |
| 33 | $options[] = new Option('author-archive', \esc_html__('Author Archive', 'independent-analytics')); |
| 34 | $options[] = new Option('date-archive', \esc_html__('Date Archive', 'independent-analytics')); |
| 35 | $options[] = new Option('search-archive', \esc_html__('Search Results', 'independent-analytics')); |
| 36 | $options[] = new Option('not-found', \esc_html__('404', 'independent-analytics')); |
| 37 | return $options; |
| 38 | } |
| 39 | } |
| 40 |