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 / TaxonomyFactory.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
TaxonomyFactory.php
74 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\Separator;
9 use AC\Formatter\Post\PostTerms;
10 use AC\FormatterCollection;
11 use AC\Setting\ComponentCollection;
12 use AC\Setting\ComponentFactory;
13 use AC\Setting\Config;
14 use AC\Setting\DefaultSettingsBuilder;
15 use AC\Type\PostTypeSlug;
16
17 class TaxonomyFactory extends BaseColumnFactory
18 {
19
20 private ComponentFactory\TaxonomyFactory $taxonomy_factory;
21
22 private ComponentFactory\TermLink $term_link_factory;
23
24 private ComponentFactory\NumberOfItems $number_of_items_factory;
25
26 private ComponentFactory\Separator $separator_factory;
27
28 private PostTypeSlug $post_type;
29
30 public function __construct(
31 DefaultSettingsBuilder $default_settings_builder,
32 ComponentFactory\TaxonomyFactory $taxonomy_factory,
33 ComponentFactory\TermLink $term_link_factory,
34 ComponentFactory\NumberOfItems $number_of_items_factory,
35 ComponentFactory\Separator $separator_factory,
36 PostTypeSlug $post_type
37 ) {
38 parent::__construct($default_settings_builder);
39
40 $this->taxonomy_factory = $taxonomy_factory;
41 $this->term_link_factory = $term_link_factory;
42 $this->number_of_items_factory = $number_of_items_factory;
43 $this->separator_factory = $separator_factory;
44 $this->post_type = $post_type;
45 }
46
47 public function get_column_type(): string
48 {
49 return 'column-taxonomy';
50 }
51
52 public function get_label(): string
53 {
54 return __('Taxonomy', 'codepress-admin-columns');
55 }
56
57 protected function get_settings(Config $config): ComponentCollection
58 {
59 return new ComponentCollection([
60 $this->taxonomy_factory->create($this->post_type)->create($config),
61 $this->term_link_factory->with_post_type($this->post_type)->create($config),
62 $this->number_of_items_factory->create($config),
63 $this->separator_factory->create($config),
64 ]);
65 }
66
67 protected function get_formatters(Config $config): FormatterCollection
68 {
69 return parent::get_formatters($config)
70 ->prepend(new PostTerms((string)$config->get('taxonomy', '')))
71 ->add(Separator::create_from_config($config));
72 }
73
74 }