PluginProbe
BeyondWords – AI audio for publishers / 7.1.0
BeyondWords – AI audio for publishers v7.1.0
7.1.0 trunk 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 4.7.0 All 43 releases
speechkit / src / core / class-plugin.php

class-plugin.php in BeyondWords – AI audio for publishers 7.1.0, at src/core/class-plugin.php

78 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin bootstrap.
4 *
5 * @package BeyondWords\Core
6 * @since 3.0.0
7 * @since 7.0.0 Refactored to BeyondWords namespace with snake_case methods.
8 */
9
10 declare( strict_types = 1 );
11
12 namespace BeyondWords\Core;
13
14 defined( 'ABSPATH' ) || exit;
15
16 /**
17 * Plugin bootstrap.
18 *
19 * Class references below use fully-qualified names so the wiring map is
20 * legible without scrolling — every line shows exactly where a class lives.
21 *
22 * @since 7.0.0 Refactored to BeyondWords namespace with snake_case methods.
23 */
24 class Plugin {
25
26 /**
27 * Boot the plugin.
28 *
29 * Order matters: `Updater::run()` normalises the version option later classes
30 * read, and Settings must register before the API-connection-gated UI wiring.
31 */
32 public static function init(): void {
33 Updater::run();
34
35 // Must run before anything that might issue an API request.
36 \BeyondWords\Api\Client::init();
37
38 \BeyondWords\Compatibility\WPGraphQL::init();
39 \BeyondWords\Post\Sync::init();
40 \BeyondWords\SiteHealth\SiteHealth::init();
41 \BeyondWords\Player\Player::init();
42 \BeyondWords\Post\Head::init();
43
44 \BeyondWords\Settings\Tabs::init();
45 \BeyondWords\Settings\Fields::init();
46 \BeyondWords\Settings\Preselect::init();
47 \BeyondWords\Settings\Settings::init();
48
49 // Skip admin UI without credentials — prevents broken editor JS on fresh installs.
50 if ( ! \BeyondWords\Settings\Utils::has_valid_api_connection() ) {
51 return;
52 }
53
54 \BeyondWords\Editor\Block\Assets::init();
55
56 \BeyondWords\PostsList\Column::init();
57 \BeyondWords\PostsList\BulkEdit::init();
58 \BeyondWords\PostsList\Notices::init();
59
60 \BeyondWords\Editor\Components\AddPlayer::init();
61 \BeyondWords\Editor\Components\BlockAttributes::init();
62 \BeyondWords\Editor\Components\ErrorNotice\Assets::init();
63 \BeyondWords\Editor\Components\InspectPanel::init();
64 \BeyondWords\Editor\Components\InspectPanel\Assets::init();
65 \BeyondWords\Editor\Components\Sidebar\Assets::init();
66
67 \BeyondWords\Editor\Components\ContentId::init();
68 \BeyondWords\Editor\Components\ContentId\Assets::init();
69 \BeyondWords\Editor\Components\GenerateAudio::init();
70 \BeyondWords\Editor\Components\SelectVoice::init();
71 \BeyondWords\Editor\Components\SelectVoice\Assets::init();
72 \BeyondWords\Editor\Components\SettingsFields::init();
73 \BeyondWords\Editor\Components\SettingsFields\Assets::init();
74 \BeyondWords\Editor\Classic\Metabox::init();
75 \BeyondWords\Editor\Classic\Assets::init();
76 }
77 }
78