register(); ( new Webhook() )->register(); ( new Poller() )->register(); ( new Optin() )->register(); ( new Privacy() )->register(); add_action( self::PURGE_HOOK, array( Message_Log::class, 'purge' ) ); add_action( 'init', array( $this, 'schedule_purge' ) ); if ( is_admin() ) { ( new Admin\Admin_Page() )->register(); ( new Admin\Order_Box() )->register(); add_filter( 'plugin_action_links_' . plugin_basename( ORDERCHIRP_FILE ), array( $this, 'action_links' ) ); } /** * Orderchirp has booted. Orderchirp Pro hooks in here. */ do_action( 'orderchirp_loaded' ); } /** * Daily log clean-up. */ public function schedule_purge() { if ( function_exists( 'as_has_scheduled_action' ) && ! as_has_scheduled_action( self::PURGE_HOOK, array(), Dispatcher::GROUP ) ) { as_schedule_recurring_action( time() + HOUR_IN_SECONDS, DAY_IN_SECONDS, self::PURGE_HOOK, array(), Dispatcher::GROUP ); } } /** * Settings link on the Plugins screen. * * @param string[] $links Links. * @return string[] */ public function action_links( $links ) { array_unshift( $links, '' . esc_html__( 'Settings', 'orderchirp' ) . '' ); return $links; } }