You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.8 KiB
62 lines
1.8 KiB
<?php if ( ! defined('WOODMART_THEME_DIR')) exit('No direct script access allowed');
|
|
|
|
/**
|
|
* ------------------------------------------------------------------------------------------------
|
|
* HTML Block element
|
|
* ------------------------------------------------------------------------------------------------
|
|
*/
|
|
|
|
if( ! class_exists( 'WOODMART_HB_HTMLBlock' ) ) {
|
|
class WOODMART_HB_HTMLBlock extends WOODMART_HB_Element {
|
|
|
|
public function __construct() {
|
|
parent::__construct();
|
|
$this->template_name = 'html-block';
|
|
}
|
|
|
|
public function map() {
|
|
|
|
$options = $this->_get_options();
|
|
$first = reset($options);
|
|
|
|
$this->args = array(
|
|
'type' => 'HTMLBlock',
|
|
'title' => esc_html__( 'HTML Block', 'woodmart' ),
|
|
'text' => esc_html__( 'WPBakery builder', 'woodmart' ),
|
|
'icon' => WOODMART_ASSETS_IMAGES . '/header-builder/icons/hb-ico-html-block.svg',
|
|
'editable' => true,
|
|
'container' => false,
|
|
'edit_on_create' => true,
|
|
'drag_target_for' => array(),
|
|
'drag_source' => 'content_element',
|
|
'removable' => true,
|
|
'addable' => true,
|
|
'params' => array(
|
|
'block_id' => array(
|
|
'id' => 'block_id',
|
|
'title' => esc_html__( 'HTML Block', 'woodmart' ),
|
|
'type' => 'select',
|
|
'tab' => esc_html__( 'General', 'woodmart' ),
|
|
'value' => isset( $first['value'] ) ? $first['value'] : '',
|
|
'options' => $options,
|
|
'description' => esc_html__( 'Choose which HTML block to dislay in the header.', 'woodmart' ),
|
|
),
|
|
)
|
|
);
|
|
}
|
|
|
|
private function _get_options() {
|
|
$array = array();
|
|
$args = array( 'posts_per_page' => 250, 'post_type' => 'cms_block' );
|
|
$blocks_posts = get_posts( $args );
|
|
foreach ( $blocks_posts as $post ) {
|
|
$array[$post->ID] = array(
|
|
'label' => $post->post_title,
|
|
'value' => $post->ID
|
|
);
|
|
}
|
|
return $array;
|
|
}
|
|
|
|
}
|
|
}
|
|
|