PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / ColumnFactory / Post / MenuFactory.php
codepress-admin-columns / classes / ColumnFactory / Post Last commit date
AttachmentFactory.php 2 days ago AuthorFactory.php 2 days ago BeforeMoreFactory.php 2 days ago CommentCountFactory.php 2 days ago CommentStatusFactory.php 2 days ago ContentFactory.php 2 days ago DatePublishFactory.php 2 days ago DepthFactory.php 2 days ago DiscussionFactory.php 2 days ago EstimateReadingTimeFactory.php 2 days ago ExcerptFactory.php 2 days ago FeaturedImageFactory.php 2 days ago FormatsFactory.php 2 days ago IdFactory.php 2 days ago LastModifiedAuthorFactory.php 2 days ago LastModifiedFactory.php 2 days ago MenuFactory.php 2 days ago OrderFactory.php 2 days ago PageTemplateFactory.php 2 days ago ParentFactory.php 2 days ago PasswordProtectedFactory.php 2 days ago PathFactory.php 2 days ago PermalinkFactory.php 2 days ago PingStatusFactory.php 2 days ago ShortLinkFactory.php 2 days ago ShortcodesFactory.php 2 days ago SlugFactory.php 2 days ago StatusFactory.php 2 days ago StickyFactory.php 2 days ago TaxonomyFactory.php 2 days ago TitleRawFactory.php 2 days ago WordCountFactory.php 2 days ago
MenuFactory.php
72 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ColumnFactory\Post;
6
7 use AC\Column\BaseColumnFactory;
8 use AC\Formatter\Collection\LocalizeSeparator;
9 use AC\Formatter\MenuLink;
10 use AC\Formatter\Term\TermProperty;
11 use AC\Formatter\UsedByMenu;
12 use AC\FormatterCollection;
13 use AC\Setting\ComponentCollection;
14 use AC\Setting\ComponentFactory\LinkToMenu;
15 use AC\Setting\Config;
16 use AC\Setting\DefaultSettingsBuilder;
17 use AC\Type\PostTypeSlug;
18
19 class MenuFactory extends BaseColumnFactory
20 {
21 private PostTypeSlug $post_type;
22
23 private LinkToMenu $link_to_menu_factory;
24
25 public function __construct(
26 DefaultSettingsBuilder $default_settings_builder,
27 LinkToMenu $link_to_menu_factory,
28 PostTypeSlug $post_type
29 ) {
30 parent::__construct($default_settings_builder);
31
32 $this->post_type = $post_type;
33 $this->link_to_menu_factory = $link_to_menu_factory;
34 }
35
36 public function get_post_type(): PostTypeSlug
37 {
38 return $this->post_type;
39 }
40
41 public function get_column_type(): string
42 {
43 return 'column-used_by_menu';
44 }
45
46 public function get_label(): string
47 {
48 return __('Menu', 'codepress-admin-columns');
49 }
50
51 protected function get_settings(Config $config): ComponentCollection
52 {
53 return new ComponentCollection([
54 $this->link_to_menu_factory->create($config),
55 ]);
56 }
57
58 protected function get_formatters(Config $config): FormatterCollection
59 {
60 $formatters = new FormatterCollection([
61 new UsedByMenu((string)$this->post_type),
62 new TermProperty('name'),
63 new MenuLink(),
64 ]);
65 $formatters->merge(parent::get_formatters($config));
66 $formatters->add(new LocalizeSeparator());
67
68 return $formatters;
69 }
70
71 }
72