| Server IP : 35.236.43.222 / Your IP : 216.73.216.143 Web Server : Apache System : Linux order-form-vm-001 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64 User : deploy ( 1002) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html.old.2026-01-23/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;
if ( ! defined( 'ABSPATH' ) ) {
exit( 0 );
}
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' );