| Server IP : 87.98.154.146 / Your IP : 216.73.216.50 Web Server : Apache System : Linux webm004.cluster126.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : ohklomafyi ( 52085) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/ohklomafyi/www/wp-content/plugins/jetpack/extensions/blocks/paywall/ |
Upload File : |
<?php
/**
* Paywall Block.
*
* @since 12.5
*
* @package automattic/jetpack
*/
namespace Automattic\Jetpack\Extensions\Paywall;
use Automattic\Jetpack\Blocks;
const FEATURE_NAME = 'paywall';
const BLOCK_NAME = 'jetpack/' . FEATURE_NAME;
const BLOCK_HTML = '<!-- wp:' . BLOCK_NAME . ' /-->';
const THE_EXCERPT_BLOCK = '[[[[[' . BLOCK_NAME . ']]]]]';
/**
* Registers the block for use in Gutenberg
* This is done via an action so that we can disable
* registration if we need to.
*/
function register_block() {
if ( ! \Jetpack::is_module_active( 'subscriptions' ) ) {
return;
}
if ( ! class_exists( '\Jetpack_Memberships' ) ) {
return;
}
Blocks::jetpack_register_block(
__DIR__,
array(
'render_callback' => __NAMESPACE__ . '\render_block',
)
);
}
add_action( 'init', __NAMESPACE__ . '\register_block' );
/**
* Paywall block render callback.
*
* @return string
*/
function render_block() {
if ( doing_filter( 'get_the_excerpt' ) ) {
if ( \Jetpack_Memberships::user_can_view_post() ) {
return '';
}
return THE_EXCERPT_BLOCK;
}
return '';
}
/**
* Adds the Paywall block to excerpt allowed blocks.
*
* @param array $allowed_blocks The allowed blocks.
*
* @return array The allowed blocks.
*/
function excerpt_allowed_blocks( $allowed_blocks ) {
return array_merge( $allowed_blocks, array( Blocks::get_block_name( __DIR__ ) ) );
}
add_filter( 'excerpt_allowed_blocks', __NAMESPACE__ . '\excerpt_allowed_blocks' );