init(); } return self::$instance; } /** * Wire everything up. */ private function init() { add_action( 'init', array( 'Hookbird\\Installer', 'maybe_upgrade' ), 5 ); Dispatcher::instance()->init(); ( new Listeners() )->init(); add_action( 'rest_api_init', array( new Rest(), 'register_routes' ) ); add_action( 'admin_init', array( $this, 'privacy_policy' ) ); if ( is_admin() ) { require_once HOOKBIRD_DIR . 'admin/class-admin.php'; require_once HOOKBIRD_DIR . 'admin/class-onboarding.php'; require_once HOOKBIRD_DIR . 'admin/class-feedback.php'; ( new Admin() )->init(); ( new Onboarding() )->init(); ( new Feedback() )->init(); } if ( defined( 'WP_CLI' ) && WP_CLI ) { require_once HOOKBIRD_DIR . 'includes/class-cli.php'; \WP_CLI::add_command( 'hookbird', 'Hookbird\\CLI' ); } } /** * Suggested privacy policy text. */ public function privacy_policy() { if ( ! function_exists( 'wp_add_privacy_policy_content' ) ) { return; } $content = '

' . esc_html__( 'This site uses Hookbird to send notifications about site activity to services chosen by the site owner, such as team chat tools or automation platforms. Depending on the configuration, this can include names, email addresses, IP addresses, order details and comment content. Data is only sent to the destinations configured by the site owner.', 'hookbird' ) . '

'; wp_add_privacy_policy_content( 'Hookbird', wp_kses_post( $content ) ); } }