| 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/GridResponsive/ |
Upload File : |
<?php
/**
* Add responsive settings to Grid (block name core/group).
*
* @package BetterBlockEditor
*/
namespace BetterBlockEditor\Modules\GridResponsive;
use BetterBlockEditor\Base\ManagableModuleInterface;
use BetterBlockEditor\Base\ResponsiveBlockModuleBase;
use BetterBlockEditor\Core\BlockUtils;
use BetterBlockEditor\Core\ResponsiveBlockUtils;
defined( 'ABSPATH' ) || exit;
final class Module extends ResponsiveBlockModuleBase implements ManagableModuleInterface {
const MODULE_IDENTIFIER = 'grid-responsive';
const ASSETS_BUILD_PATH = 'editor/blocks/grid/responsiveness/';
const BLOCK_NAME = 'core/group';
const SETTINGS_ORDER = 250;
public static function get_title() {
return __( 'Responsive Grid', 'better-block-editor' );
}
public static function get_label() {
return __( 'Add Responsive Settings to Grid block.', 'better-block-editor' );
}
protected function need_to_apply_changes( $block_content, $block, $wp_block_instance ) {
// if it's not a grid type of block
return ( $this->attributes['layout']['type'] ?? null ) === 'grid';
}
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 ) );
$css_rules = array();
if ( ResponsiveBlockUtils::get_setting( $this->attributes, 'stack', false ) ) {
$css_rules['grid-template-columns'] = 'repeat(1, 1fr)';
}
// on FE we use static as default (as it's done in WP core)
if ( ResponsiveBlockUtils::get_setting( $this->attributes, 'disablePositionSticky', false ) ) {
$css_rules['position'] = 'static';
}
$gap = ResponsiveBlockUtils::get_setting( $this->attributes, 'gap', null );
// need strict comparison here as gap may be 0
if ( null !== $gap ) {
$css_rules['gap'] = $gap . ' !important';
}
ResponsiveBlockUtils::add_style_for_media_query(
"@media screen and (width <= {$this->switch_width})",
'.' . $class_id . '.' . $class_id,
$css_rules
);
return $block_content;
}
}