Initial commit to github
This commit is contained in:
24
views/blocks/button/block.json
Normal file
24
views/blocks/button/block.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "acf/button",
|
||||
"title": "Button (VDI)",
|
||||
"description": "A button.",
|
||||
"category": "vdi-block",
|
||||
"icon": "button",
|
||||
"keywords": [
|
||||
"button"
|
||||
],
|
||||
"acf": {
|
||||
"mode": "preview",
|
||||
"renderTemplate": "button.php"
|
||||
},
|
||||
"supports": {
|
||||
"align": false,
|
||||
"anchor": false,
|
||||
"color": false,
|
||||
"html": false,
|
||||
"jsx": false,
|
||||
"mode": true,
|
||||
"multiple": true
|
||||
},
|
||||
"parent": [ "acf/buttons" ]
|
||||
}
|
||||
51
views/blocks/button/button.php
Normal file
51
views/blocks/button/button.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* Button block
|
||||
*
|
||||
* @package BasicWP
|
||||
*/
|
||||
|
||||
namespace BasicWP;
|
||||
|
||||
// Retrieve ACF fields
|
||||
$element = get_field( 'element' ) ? get_field( 'element' ) : 'a';
|
||||
$btnLink = get_field( 'link' );
|
||||
$url = $btnLink['url'] ? $btnLink['url'] : '';
|
||||
$target = $btnLink['target'] ? $btnLink['target'] : '';
|
||||
$btnTitle = $btnLink['title'] ? $btnLink['title'] : 'Button';
|
||||
$color = get_field( 'color' );
|
||||
$variant = get_field( 'variant' );
|
||||
$size = get_field( 'size' );
|
||||
$width = get_field( 'width' );
|
||||
|
||||
// Handle admin preview
|
||||
if ( is_admin() && $url ) {
|
||||
$url = '#';
|
||||
}
|
||||
|
||||
// Set wrapper classes
|
||||
$classes = 'button text-center';
|
||||
|
||||
if ( ! $is_preview ) {
|
||||
$wrapper = get_block_wrapper_attributes(
|
||||
array( 'class' => $classes )
|
||||
);
|
||||
|
||||
$wrapper = str_replace( 'class="', '', $wrapper );
|
||||
$wrapper = str_replace( '"', '', $wrapper );
|
||||
} else {
|
||||
$wrapper = $classes;
|
||||
}
|
||||
?>
|
||||
|
||||
<x-button
|
||||
btnClasses="<?php echo esc_attr( $wrapper ); ?>"
|
||||
element="<?php echo esc_attr( $element ); ?>"
|
||||
url="<?php echo esc_url( $url ); ?>"
|
||||
target="<?php echo esc_attr( $target ); ?>"
|
||||
title="<?php echo esc_attr( $btnTitle ); ?>"
|
||||
color="<?php echo esc_attr( $color ); ?>"
|
||||
variant="<?php echo esc_attr( $variant ); ?>"
|
||||
size="<?php echo esc_attr( $size ); ?>"
|
||||
width="<?php echo esc_attr( $width ); ?>"
|
||||
></x-button>
|
||||
Reference in New Issue
Block a user