initialize(); } } add_action( 'init', 'Automattic\Jetpack\Extensions\Premium_Content\paywall_initialize', 9 ); /** * Gets the service handling the premium content subscriptions. * * @return Subscription_Service Service that will handle the premium content subscriptions. */ function subscription_service() { /** * Filter the Jetpack_Token_Subscription_Service class. * * @since 9.4.0 * * @param null|Jetpack_Token_Subscription_Service $interface Registered Subscription_Service. */ $interface = apply_filters( PAYWALL_FILTER, null ); if ( ! $interface instanceof Jetpack_Token_Subscription_Service ) { _doing_it_wrong( __FUNCTION__, 'No Subscription_Service registered for the ' . esc_html( PAYWALL_FILTER ) . ' filter', 'jetpack' ); } return $interface; } /** * Gets the default service handling the premium content. * * @param Subscription_Service $service If set, this service will be used by default. * @return Subscription_Service Service that will handle the premium content. */ function default_service( $service ) { if ( null !== $service ) { return $service; } if ( WPCOM_Offline_Subscription_Service::available() ) { return new WPCOM_Offline_Subscription_Service(); } if ( WPCOM_Token_Subscription_Service::available() ) { return new WPCOM_Token_Subscription_Service(); } if ( Jetpack_Token_Subscription_Service::available() ) { return new Jetpack_Token_Subscription_Service(); } return new Unconfigured_Subscription_Service(); } add_filter( PAYWALL_FILTER, 'Automattic\Jetpack\Extensions\Premium_Content\default_service' );