PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.4
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.4
4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 All 202 releases
betterdocs / includes / Core / ShortcodeFactory.php

ShortcodeFactory.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.4, at includes/Core/ShortcodeFactory.php

83 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPDeveloper\BetterDocs\Core;
4
5 use WPDeveloper\BetterDocs\Utils\Base;
6 use WPDeveloper\BetterDocs\Shortcodes\AIActions;
7 use WPDeveloper\BetterDocs\Shortcodes\Listen;
8 use WPDeveloper\BetterDocs\Shortcodes\ToC;
9 use WPDeveloper\BetterDocs\Shortcodes\FaqList;
10 use WPDeveloper\BetterDocs\Shortcodes\FaqTab;
11 use WPDeveloper\BetterDocs\Shortcodes\Reactions;
12 use WPDeveloper\BetterDocs\Shortcodes\FaqClassic;
13 use WPDeveloper\BetterDocs\Shortcodes\FaqLayoutThree;
14 use WPDeveloper\BetterDocs\Shortcodes\SearchForm;
15 use WPDeveloper\BetterDocs\Shortcodes\SearchModal;
16 use WPDeveloper\BetterDocs\Shortcodes\CategoryBox;
17 use WPDeveloper\BetterDocs\Shortcodes\SocialShare;
18 use WPDeveloper\BetterDocs\Shortcodes\CategoryGrid;
19 use WPDeveloper\BetterDocs\Shortcodes\CategoryList;
20 use WPDeveloper\BetterDocs\Shortcodes\FeedbackForm;
21 use WPDeveloper\BetterDocs\Shortcodes\ReadingTime;
22 use WPDeveloper\BetterDocs\Dependencies\DI\Container;
23 use WPDeveloper\BetterDocs\Shortcodes\CategoryBoxThree;
24 use WPDeveloper\BetterDocs\Shortcodes\CategoryGridThree;
25
26 class ShortcodeFactory extends Base {
27 /**
28 * Summary of Container
29 * @var Container
30 */
31 private $container;
32
33 public function __construct( Container $container ) {
34 $this->container = $container;
35 }
36
37 /**
38 * Shortcode Lists
39 *
40 * @since 2.5.0
41 *
42 * @return array<string>
43 */
44 private function shortcode_list() {
45 return apply_filters(
46 'betterdocs_shortcodes',
47 [
48 CategoryBox::class,
49 CategoryBoxThree::class,
50 CategoryGrid::class,
51 CategoryGridThree::class,
52 CategoryList::class,
53 SearchForm::class,
54 SearchModal::class,
55 ToC::class,
56 SocialShare::class,
57 FeedbackForm::class,
58 FaqClassic::class,
59 FaqLayoutThree::class,
60 FaqList::class,
61 FaqTab::class,
62 Reactions::class,
63 ReadingTime::class,
64 AIActions::class,
65 Listen::class
66 ]
67 );
68 }
69
70 /**
71 * Initialize all shortcodes
72 * @return void
73 */
74 public function init() {
75 if ( ! empty( $shortcodes = $this->shortcode_list() ) ) {
76 foreach ( $shortcodes as $shortcode ) {
77 $shortcode = $this->container->get( $shortcode );
78 add_shortcode( $shortcode->get_name(), [ $shortcode, 'render_with_hooks' ] );
79 }
80 }
81 }
82 }
83