Inpsyde\MultilingualPress\Module\CustomPostTypeSupport\ServiceProvider::bootstrap PHP Method

bootstrap() public method

Bootstraps the registered services.
Since: 3.0.0
public bootstrap ( Inpsyde\MultilingualPress\Service\Container $container ) : void
$container Inpsyde\MultilingualPress\Service\Container Container object.
return void
    public function bootstrap(Container $container)
    {
        $this->on_activation(function () use($container) {
            $repository = $container['multilingualpress.post_type_repository'];
            $settings_box = $container['multilingualpress.post_type_support_settings_box'];
            add_action('mlp_modules_add_fields', function () use($settings_box, $repository) {
                if ($repository->get_custom_post_types()) {
                    (new SettingsBoxView($settings_box))->render();
                }
            });
            $updater = $container['multilingualpress.post_type_support_settings_updater'];
            add_action('mlp_modules_save_fields', [$updater, 'update_settings']);
            add_filter('mlp_allowed_post_types', function (array $post_types) use($repository) {
                return array_merge($post_types, $repository->get_supported_post_types());
            });
            $url_filter = $container['multilingualpress.post_type_link_url_filter'];
            add_action('mlp_before_link', [$url_filter, 'enable']);
            add_action('mlp_after_link', [$url_filter, 'disable']);
        });
    }