PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 3 months ago AuthorFactory.php 3 months ago BeforeMoreFactory.php 3 months ago CommentCountFactory.php 3 months ago CommentStatusFactory.php 3 months ago ContentFactory.php 3 months ago DatePublishFactory.php 3 months ago DepthFactory.php 3 months ago DiscussionFactory.php 3 months ago EstimateReadingTimeFactory.php 3 months ago ExcerptFactory.php 3 months ago FeaturedImageFactory.php 3 months ago FormatsFactory.php 3 months ago IdFactory.php 3 months ago LastModifiedAuthorFactory.php 3 months ago LastModifiedFactory.php 3 months ago MenuFactory.php 3 months ago OrderFactory.php 3 months ago PageTemplateFactory.php 3 months ago ParentFactory.php 3 months ago PasswordProtectedFactory.php 3 months ago PathFactory.php 3 months ago PermalinkFactory.php 3 months ago PingStatusFactory.php 3 months ago ShortLinkFactory.php 3 months ago ShortcodesFactory.php 3 months ago SlugFactory.php 3 months ago StatusFactory.php 3 months ago StickyFactory.php 3 months ago TaxonomyFactory.php 3 months ago TitleRawFactory.php 3 months ago WordCountFactory.php 3 months 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
22 private PostTypeSlug $post_type;
23
24 private LinkToMenu $link_to_menu_factory;
25
26 public function __construct(
27 DefaultSettingsBuilder $default_settings_builder,
28 LinkToMenu $link_to_menu_factory,
29 PostTypeSlug $post_type
30 ) {
31 parent::__construct($default_settings_builder);
32
33 $this->post_type = $post_type;
34 $this->link_to_menu_factory = $link_to_menu_factory;
35 }
36
37 public function get_post_type(): PostTypeSlug
38 {
39 return $this->post_type;
40 }
41
42 public function get_column_type(): string
43 {
44 return 'column-used_by_menu';
45 }
46
47 public function get_label(): string
48 {
49 return __('Menu', 'codepress-admin-columns');
50 }
51
52 protected function get_settings(Config $config): ComponentCollection
53 {
54 return new ComponentCollection([
55 $this->link_to_menu_factory->create($config),
56 ]);
57 }
58
59 protected function get_formatters(Config $config): FormatterCollection
60 {
61 $formatters = new FormatterCollection([
62 new UsedByMenu((string)$this->post_type),
63 new TermProperty('name'),
64 new MenuLink(),
65 ]);
66 $formatters->merge(parent::get_formatters($config));
67 $formatters->add(new LocalizeSeparator());
68
69 return $formatters;
70 }
71
72 }