| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,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, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/imperial28.ru/wp-content/themes/jaxon/inc/ |
Upload File : |
<?php
/**
* Patterns Handler.
*
* @author Themeisle
* @package jaxon
* @since 1.0.0
*/
namespace Jaxon;
use WP_Block_Pattern_Categories_Registry;
/**
* Class Block_Patterns
*
* @package jaxon
*/
class Block_Patterns {
/**
* Patterns categories.
*
* @var array
*/
private $categories = array();
/**
* The patterns array.
*
* These use the file names without termination inside the `inc/patterns` directory.
*
* @var array
*/
private $patterns = array();
/**
* Block_Patterns constructor.
*/
public function __construct() {
$this->setup_properties();
add_action( 'init', array( $this, 'run' ) );
}
/**
* Run the class functionality.
*
* @return void
*/
public function run() {
$this->register_categories();
$this->register_patterns();
}
/**
* Setup class properties.
*
* @return void
*/
private function setup_properties() {
$categories = array(
'jaxon' => array( 'label' => __( 'Jaxon Patterns', 'jaxon' ) ),
);
$patterns = array(
'hero-cover-with-title-and-image',
'row-with-logos',
'call-to-action-inverted',
'categories-with-description-and-images',
'two-columns-with-images-and-text',
'features-with-icons',
'three-columns-with-testimonials',
'posts-in-a-three-column-grid',
'two-columns-with-testimonials',
'alternating-layout-with-image-and-description',
'call-to-action-boxed',
'three-columns-with-products',
);
$this->categories = apply_filters( 'jaxon_block_patterns_categories', $categories );
$this->patterns = apply_filters( 'jaxon_block_patterns', $patterns );
}
/**
* Register block patterns categories.
*
* @return void
*/
private function register_categories() {
foreach ( $this->categories as $slug => $args ) {
if ( WP_Block_Pattern_Categories_Registry::get_instance()->is_registered( $slug ) ) {
continue;
}
register_block_pattern_category( $slug, $args );
}
}
/**
* Register Patterns.
*
* @return void
*/
private function register_patterns() {
foreach ( $this->patterns as $pattern ) {
$file = JAXON_DIR . 'inc/patterns/' . $pattern . '.php';
if ( ! is_file( $file ) ) {
continue;
}
register_block_pattern( 'jaxon/' . $pattern, require $file );
}
}
}