| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.3/wp-content/plugins/better-block-editor/Modules/PostTemplateResponsive/ |
Upload File : |
<?php
/**
* Adds responsiveness settings to Post Template block.
*
* @package BetterBlockEditor
*/
namespace BetterBlockEditor\Modules\PostTemplateResponsive;
use BetterBlockEditor\Base\ManagableModuleInterface;
use BetterBlockEditor\Base\ResponsiveBlockModuleBase;
use BetterBlockEditor\Core\BlockUtils;
defined( 'ABSPATH' ) || exit;
class Module extends ResponsiveBlockModuleBase implements ManagableModuleInterface {
const MODULE_IDENTIFIER = 'post-template-stack-on-responsive';
const ASSETS_BUILD_PATH = 'editor/blocks/post-template/responsiveness/';
const SETTINGS_ORDER = 900;
const BLOCK_NAME = 'core/post-template';
public static function get_title() {
return __( 'Responsive Post Template', 'better-block-editor' );
}
public static function get_label() {
return __( 'Add Responsive Settings to Post Template block when used in Grid view.', 'better-block-editor' );
}
protected function need_to_apply_changes( $block_content, $block, $wp_block_instance ) {
// handle only "grid" mode
if ( ( $this->attributes['layout']['type'] ?? null ) !== 'grid' ) {
return false;
}
return true;
}
protected function render( $block_content, $block, $wp_block_instance ) {
$class_id = BlockUtils::get_unique_class_id( $block_content );
$block_content = BlockUtils::append_classes( $block_content, array( $class_id ) );
// stack on responsive
$css_rules = array( 'grid-template-columns' => 'repeat(1, 1fr) !important' );
$gap = $this->get_responsive_setting( 'gap' );
// need strict comparison here as gap may be 0
if ( null !== $gap ) {
$css_rules['gap'] = $gap . ' !important';
}
BlockUtils::add_style_for_media_query(
"@media screen and (width <= {$this->switch_width})",
'body .' . $class_id,
$css_rules
);
return $block_content;
}
}