Changes Tainacan Blocks logc from OO to procedural due to error on render_callback. We may improve this but for now is necessary to do what is planned on #185.
This commit is contained in:
parent
3b7ac2aba2
commit
965654f2a4
|
@ -157,7 +157,6 @@ require_once(__DIR__ . '/../theme-helper/template-tags.php');
|
||||||
$Tainacan_Theme_Helper = \Tainacan\Theme_Helper::get_instance();
|
$Tainacan_Theme_Helper = \Tainacan\Theme_Helper::get_instance();
|
||||||
|
|
||||||
require_once(__DIR__ . '/../gutenberg-blocks/class-tainacan-gutenberg-block.php');
|
require_once(__DIR__ . '/../gutenberg-blocks/class-tainacan-gutenberg-block.php');
|
||||||
$Tainacan_Gutenberg_Block = \Tainacan\GutenbergBlock::get_instance();
|
|
||||||
|
|
||||||
$Tainacan_Search_Engine = new \Tainacan\Search_Engine();
|
$Tainacan_Search_Engine = new \Tainacan\Search_Engine();
|
||||||
$Tainacan_Elastic_press = new \Tainacan\Elastic_Press();
|
$Tainacan_Elastic_press = new \Tainacan\Elastic_Press();
|
||||||
|
|
|
@ -1,126 +1,114 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Tainacan;
|
|
||||||
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
||||||
|
|
||||||
class GutenbergBlock {
|
tainacan_blocks_initialize();
|
||||||
|
|
||||||
private static $instance = null;
|
function tainacan_blocks_initialize() {
|
||||||
|
global $wp_version;
|
||||||
|
|
||||||
function __construct() {
|
if(is_plugin_active('gutenberg/gutenberg.php') || $wp_version >= '5') {
|
||||||
global $wp_version;
|
tainacan_blocks_add_gutenberg_blocks_actions();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(is_plugin_active('gutenberg/gutenberg.php') || $wp_version >= '5') {
|
function tainacan_blocks_add_gutenberg_blocks_actions() {
|
||||||
$this->add_gutenberg_blocks_actions();
|
//add_action('init', 'tainacan_blocks_register_tainacan_collections_carousel');
|
||||||
}
|
add_action('init', 'tainacan_blocks_register_tainacan_items_grid');
|
||||||
|
|
||||||
|
add_action('init', 'tainacan_blocks_add_plugin_settings');
|
||||||
|
|
||||||
|
//add_action('wp_enqueue_scripts', 'tainacan_blocks_enqueue_on_theme');
|
||||||
|
add_filter('block_categories', 'tainacan_blocks_register_tainacan_block_categories', 10, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
function tainacan_blocks_register_tainacan_block_categories($categories, $post){
|
||||||
|
if ( $post->post_type !== 'post' ) {
|
||||||
|
return $categories;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function get_instance() {
|
return array_merge(
|
||||||
if ( ! isset( self::$instance ) ) {
|
$categories,
|
||||||
self::$instance = new self();
|
array(
|
||||||
}
|
|
||||||
|
|
||||||
return self::$instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function add_gutenberg_blocks_actions() {
|
|
||||||
//add_action('init', array($this, 'register_tainacan_collections_carousel'));
|
|
||||||
add_action('init', array($this, 'register_tainacan_items_grid'));
|
|
||||||
|
|
||||||
add_action('init', array($this, 'add_plugin_settings'));
|
|
||||||
|
|
||||||
//add_action('wp_enqueue_scripts', array($this, 'enqueue_on_theme'));
|
|
||||||
add_filter('block_categories', array($this, 'register_tainacan_block_categories'), 10, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function register_tainacan_block_categories($categories, $post){
|
|
||||||
if ( $post->post_type !== 'post' ) {
|
|
||||||
return $categories;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_merge(
|
|
||||||
$categories,
|
|
||||||
array(
|
array(
|
||||||
array(
|
'slug' => 'tainacan-blocks',
|
||||||
'slug' => 'tainacan-blocks',
|
'title' => __( 'Tainacan', 'tainacan' ),
|
||||||
'title' => __( 'Tainacan', 'tainacan' ),
|
),
|
||||||
),
|
)
|
||||||
)
|
);
|
||||||
);
|
}
|
||||||
|
|
||||||
|
function tainacan_blocks_enqueue_on_theme(){
|
||||||
|
global $TAINACAN_BASE_URL;
|
||||||
|
|
||||||
|
wp_enqueue_script(
|
||||||
|
'collections-carousel',
|
||||||
|
$TAINACAN_BASE_URL . '/assets/gutenberg_collections_carousel-components.js'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function tainacan_blocks_register_tainacan_items_grid(){
|
||||||
|
global $TAINACAN_BASE_URL;
|
||||||
|
|
||||||
|
wp_register_script(
|
||||||
|
'items-grid',
|
||||||
|
$TAINACAN_BASE_URL . '/assets/gutenberg_items_grid-components.js',
|
||||||
|
array('wp-blocks', 'wp-element', 'wp-components', 'wp-editor', 'underscore')
|
||||||
|
);
|
||||||
|
|
||||||
|
wp_register_style(
|
||||||
|
'items-grid',
|
||||||
|
$TAINACAN_BASE_URL . '/assets/css/tainacan-gutenberg-blocks-style.css',
|
||||||
|
array('wp-edit-blocks')
|
||||||
|
);
|
||||||
|
|
||||||
|
if(function_exists('register_block_type')) {
|
||||||
|
register_block_type( 'tainacan/items-grid', array(
|
||||||
|
'editor_script' => 'items-grid',
|
||||||
|
'style' => 'items-grid'
|
||||||
|
) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function enqueue_on_theme(){
|
function tainacan_blocks_register_tainacan_collections_carousel(){
|
||||||
global $TAINACAN_BASE_URL;
|
global $TAINACAN_BASE_URL;
|
||||||
|
|
||||||
wp_enqueue_script(
|
wp_register_script(
|
||||||
'collections-carousel',
|
'collections-carousel',
|
||||||
$TAINACAN_BASE_URL . '/assets/gutenberg_collections_carousel-components.js'
|
$TAINACAN_BASE_URL . '/assets/gutenberg_collections_carousel-components.js',
|
||||||
);
|
array('wp-blocks', 'wp-element', 'wp-components', 'wp-editor')
|
||||||
|
);
|
||||||
|
|
||||||
|
wp_register_style(
|
||||||
|
'collections-carousel',
|
||||||
|
$TAINACAN_BASE_URL . '/assets/css/tainacan-gutenberg-blocks-style.css',
|
||||||
|
array('wp-edit-blocks')
|
||||||
|
);
|
||||||
|
|
||||||
|
if(function_exists('register_block_type')) {
|
||||||
|
register_block_type( 'tainacan/collections-carousel', array(
|
||||||
|
'editor_script' => 'collections-carousel',
|
||||||
|
'style' => 'collections-carousel'
|
||||||
|
) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function register_tainacan_items_grid(){
|
function tainacan_blocks_get_plugin_js_settings(){
|
||||||
global $TAINACAN_BASE_URL;
|
global $TAINACAN_BASE_URL;
|
||||||
|
|
||||||
wp_register_script(
|
$settings = [
|
||||||
'items-grid',
|
'root' => esc_url_raw( rest_url() ) . 'tainacan/v2',
|
||||||
$TAINACAN_BASE_URL . '/assets/gutenberg_items_grid-components.js',
|
'nonce' => wp_create_nonce( 'wp_rest' ),
|
||||||
array('wp-blocks', 'wp-element', 'wp-components', 'wp-editor', 'underscore')
|
'base_url' => $TAINACAN_BASE_URL
|
||||||
);
|
];
|
||||||
|
|
||||||
wp_register_style(
|
return $settings;
|
||||||
'items-grid',
|
}
|
||||||
$TAINACAN_BASE_URL . '/assets/css/tainacan-gutenberg-blocks-style.css',
|
|
||||||
array('wp-edit-blocks')
|
|
||||||
);
|
|
||||||
|
|
||||||
if(function_exists('register_block_type')) {
|
function tainacan_blocks_add_plugin_settings() {
|
||||||
register_block_type( 'tainacan/items-grid', array(
|
|
||||||
'editor_script' => 'items-grid',
|
|
||||||
'style' => 'items-grid'
|
|
||||||
) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function register_tainacan_collections_carousel(){
|
$settings = tainacan_blocks_get_plugin_js_settings();
|
||||||
global $TAINACAN_BASE_URL;
|
|
||||||
|
|
||||||
wp_register_script(
|
//wp_localize_script( 'collections-carousel', 'tainacan_plugin', $settings );
|
||||||
'collections-carousel',
|
wp_localize_script( 'items-grid', 'tainacan_plugin', $settings );
|
||||||
$TAINACAN_BASE_URL . '/assets/gutenberg_collections_carousel-components.js',
|
}
|
||||||
array('wp-blocks', 'wp-element', 'wp-components', 'wp-editor')
|
|
||||||
);
|
|
||||||
|
|
||||||
wp_register_style(
|
|
||||||
'collections-carousel',
|
|
||||||
$TAINACAN_BASE_URL . '/assets/css/tainacan-gutenberg-blocks-style.css',
|
|
||||||
array('wp-edit-blocks')
|
|
||||||
);
|
|
||||||
|
|
||||||
if(function_exists('register_block_type')) {
|
|
||||||
register_block_type( 'tainacan/collections-carousel', array(
|
|
||||||
'editor_script' => 'collections-carousel',
|
|
||||||
'style' => 'collections-carousel'
|
|
||||||
) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function get_plugin_js_settings(){
|
|
||||||
global $TAINACAN_BASE_URL;
|
|
||||||
|
|
||||||
$settings = [
|
|
||||||
'root' => esc_url_raw( rest_url() ) . 'tainacan/v2',
|
|
||||||
'nonce' => wp_create_nonce( 'wp_rest' ),
|
|
||||||
'base_url' => $TAINACAN_BASE_URL
|
|
||||||
];
|
|
||||||
|
|
||||||
return $settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_plugin_settings() {
|
|
||||||
|
|
||||||
$settings = $this->get_plugin_js_settings();
|
|
||||||
|
|
||||||
//wp_localize_script( 'collections-carousel', 'tainacan_plugin', $settings );
|
|
||||||
wp_localize_script( 'items-grid', 'tainacan_plugin', $settings );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue