init
This commit is contained in:
210
wp-content/themes/flatsome/inc/shortcodes/buttons.php
Normal file
210
wp-content/themes/flatsome/inc/shortcodes/buttons.php
Normal file
@@ -0,0 +1,210 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* [button]
|
||||
*/
|
||||
function button_shortcode( $atts, $content = null ) {
|
||||
extract( shortcode_atts( array(
|
||||
'text' => '',
|
||||
'style' => '',
|
||||
'color' => 'primary',
|
||||
'size' => '',
|
||||
'animate' => '',
|
||||
'link' => '',
|
||||
'target' => '_self',
|
||||
'rel' => '',
|
||||
'border' => '',
|
||||
'expand' => '',
|
||||
'tooltip' => '',
|
||||
'padding' => '',
|
||||
'radius' => '',
|
||||
'letter_case' => '',
|
||||
'mobile_icon' => '',
|
||||
'icon' => '',
|
||||
'icon_pos' => '',
|
||||
'icon_reveal' => '',
|
||||
'depth' => '',
|
||||
'depth_hover' => '',
|
||||
'class' => '',
|
||||
'visibility' => '',
|
||||
'id' => '',
|
||||
'block' => '',
|
||||
), $atts ) );
|
||||
|
||||
// Old button Fallback.
|
||||
if ( strpos( $style, 'primary' ) !== false ) {
|
||||
$color = 'primary';
|
||||
} elseif ( strpos( $style, 'secondary' ) !== false ) {
|
||||
$color = 'secondary';
|
||||
} elseif ( strpos( $style, 'white' ) !== false ) {
|
||||
$color = 'white';
|
||||
} elseif ( strpos( $style, 'success' ) !== false ) {
|
||||
$color = 'success';
|
||||
} elseif ( strpos( $style, 'alert' ) !== false ) {
|
||||
$color = 'alert';
|
||||
}
|
||||
|
||||
if ( strpos( $style, 'alt-button' ) !== false ) {
|
||||
$style = 'outline';
|
||||
}
|
||||
|
||||
$attributes = array();
|
||||
$icon_left = $icon && $icon_pos == 'left' ? get_flatsome_icon( $icon ) : '';
|
||||
$icon_right = $icon && $icon_pos !== 'left' ? get_flatsome_icon( $icon ) : '';
|
||||
|
||||
// Add Button Classes.
|
||||
$classes = array();
|
||||
$classes[] = 'button';
|
||||
|
||||
if ( $color ) {
|
||||
$classes[] = $color;
|
||||
}
|
||||
if ( $style ) {
|
||||
$classes[] = 'is-' . $style;
|
||||
}
|
||||
if ( $size ) {
|
||||
$classes[] = 'is-' . $size;
|
||||
}
|
||||
if ( $depth ) {
|
||||
$classes[] = 'box-shadow-' . $depth;
|
||||
}
|
||||
if ( $depth_hover ) {
|
||||
$classes[] = 'box-shadow-' . $depth_hover . '-hover';
|
||||
}
|
||||
if ( $letter_case ) {
|
||||
$classes[] = $letter_case;
|
||||
}
|
||||
if ( $icon_reveal ) {
|
||||
$classes[] = 'reveal-icon';
|
||||
}
|
||||
if ( $expand ) {
|
||||
$classes[] = 'expand';
|
||||
}
|
||||
if ( $class ) {
|
||||
$classes[] = $class;
|
||||
}
|
||||
if ( $visibility ) {
|
||||
$classes[] = $visibility;
|
||||
}
|
||||
if ( $animate ) {
|
||||
$attributes['data-animate'] = $animate;
|
||||
}
|
||||
if ( $target == '_blank' ) {
|
||||
$attributes['rel'][] = 'noopener noreferrer';
|
||||
}
|
||||
if ( $rel ) {
|
||||
$attributes['rel'][] = $rel;
|
||||
}
|
||||
if ( $link ) {
|
||||
// Smart links.
|
||||
$link = flatsome_smart_links( $link );
|
||||
$attributes['href'] = $link;
|
||||
if ( $target ) {
|
||||
$attributes['target'] = $target;
|
||||
}
|
||||
}
|
||||
if ( $tooltip ) {
|
||||
$classes[] = 'has-tooltip';
|
||||
$attributes['title'] = $tooltip;
|
||||
}
|
||||
|
||||
$styles = get_shortcode_inline_css( array(
|
||||
array(
|
||||
'unit' => 'px',
|
||||
'attribute' => 'border-radius',
|
||||
'value' => intval( $radius ),
|
||||
),
|
||||
array(
|
||||
'unit' => 'px',
|
||||
'attribute' => 'border-width',
|
||||
'value' => intval( $border ),
|
||||
),
|
||||
array(
|
||||
'attribute' => 'padding',
|
||||
'value' => $padding,
|
||||
),
|
||||
) );
|
||||
|
||||
$attributes['class'] = $classes;
|
||||
$attributes = flatsome_html_atts( $attributes );
|
||||
|
||||
// Template is located in template-parts/shortcodes.
|
||||
return flatsome_template( 'shortcodes/button', get_defined_vars() );
|
||||
}
|
||||
|
||||
add_shortcode( 'button', 'button_shortcode' );
|
||||
|
||||
/**
|
||||
* [facebook_login_button]
|
||||
*/
|
||||
function facebook_login_shortcode( $atts, $content = null ) {
|
||||
extract( shortcode_atts( array(
|
||||
'text' => 'Login / Register with Facebook',
|
||||
'size' => 'medium',
|
||||
), $atts ) );
|
||||
ob_start();
|
||||
|
||||
$facebook_url = add_query_arg( array( 'loginSocial' => 'facebook' ), wp_login_url() );
|
||||
?>
|
||||
<a href="<?php echo esc_url( $facebook_url ); ?>" class="button <?php echo esc_attr( $size ); ?> facebook-button" data-plugin="nsl" data-action="connect" data-redirect="current" data-provider="facebook" data-popupwidth="475" data-popupheight="175">
|
||||
<?php echo get_flatsome_icon( 'icon-facebook' ); ?>
|
||||
<?php echo $text; ?>
|
||||
</a>
|
||||
<?php
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
add_shortcode( 'facebook_login_button', 'facebook_login_shortcode' );
|
||||
|
||||
|
||||
/**
|
||||
* Phone button
|
||||
*/
|
||||
function ux_phone( $atts, $content = null ) {
|
||||
extract( shortcode_atts( array(
|
||||
'number' => '+000 000 000',
|
||||
'tooltip' => '',
|
||||
'border' => '2px',
|
||||
), $atts ) );
|
||||
|
||||
return do_shortcode( '<div class="header-button">[button style="outline" class="circle" icon="icon-phone" color=" " icon_pos="left" text="' . $number . '" link="tel:' . $number . '" tooltip="' . $tooltip . '" border="' . $border . '"]</div>' );
|
||||
}
|
||||
|
||||
add_shortcode( 'phone', 'ux_phone' );
|
||||
|
||||
|
||||
/**
|
||||
* Header button
|
||||
*/
|
||||
function ux_header_button( $atts, $content = null ) {
|
||||
extract( shortcode_atts( array(
|
||||
'text' => 'Order Now',
|
||||
'link' => '',
|
||||
'tooltip' => '',
|
||||
'border' => '2px',
|
||||
'target' => '_self',
|
||||
|
||||
), $atts ) );
|
||||
|
||||
return do_shortcode( '<div class="header-button">[button style="outline" class="circle" color=" " text="' . $text . '" link="' . $link . '" target="' . $target . '" tooltip="' . $tooltip . '" border="' . $border . '"]</div>' );
|
||||
}
|
||||
|
||||
add_shortcode( 'header_button', 'ux_header_button' );
|
||||
|
||||
|
||||
function ux_video_button( $atts, $content = null ) {
|
||||
extract( shortcode_atts( array(
|
||||
'video' => 'https://www.youtube.com/watch?v=f3Hh_qSkpaA',
|
||||
'size' => '',
|
||||
), $atts ) );
|
||||
if ( $size ) {
|
||||
$size = 'style="font-size:' . $size . '%"';
|
||||
}
|
||||
|
||||
return '<div class="video-button-wrapper" ' . $size . '><a href="' . $video . '" class="button open-video icon circle is-outline is-xlarge">' . get_flatsome_icon( 'icon-play', '1.5em' ) . '</a></div>';
|
||||
}
|
||||
|
||||
add_shortcode( 'video_button', 'ux_video_button' );
|
Reference in New Issue
Block a user