| Server IP : 38.190.208.107 / Your IP : 216.73.216.71 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : www ( 1000) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,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,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.9/wp-content/themes/woodmart/inc/integrations/elementor/elements/button/ |
Upload File : |
<?php
/**
* Button template function.
*
* @package woodmart
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Direct access not allowed.
}
if ( ! function_exists( 'woodmart_elementor_button_template' ) ) {
/**
* Button template function.
*
* @param array $settings Element settings.
*/
function woodmart_elementor_button_template( $settings ) {
$default_settings = array(
'text' => 'Read more',
'link' => '',
'button_smooth_scroll' => 'no',
'button_smooth_scroll_time' => '100',
'button_smooth_scroll_offset' => '100',
'button_collapsible_content' => 'no',
// General.
'color' => 'default',
'style' => 'default',
'shape' => 'rectangle',
'size' => 'default',
// Layout.
'full_width' => 'no',
'align' => 'center',
// Icon.
'icon_type' => 'icon',
'icon_position' => 'right',
'icon' => '',
'image' => '',
// Colors.
'color_scheme' => 'light',
'color_scheme_hover' => 'light',
'bg_color' => '',
'bg_color_hover' => '',
'custom_classes' => '',
'inline_edit' => true,
);
$settings = wp_parse_args( $settings, $default_settings );
// Classes.
$wrapper_attrs = '';
$wrapper_classes = '';
$link_classes = '';
$text_classes = '';
$inline_editing_key = '';
$wrapper_classes .= 'wd-button-wrapper';
$wrapper_classes .= ' text-' . $settings['align'];
if ( 'yes' === $settings['button_collapsible_content'] ) {
woodmart_enqueue_js_script( 'button-show-more' );
$wrapper_classes .= ' wd-collapsible-button';
}
$link_classes .= 'btn';
$link_classes .= ' btn-style-' . $settings['style'];
$link_classes .= ' btn-shape-' . $settings['shape'];
$link_classes .= ' btn-size-' . $settings['size'];
$link_classes .= $settings['custom_classes'] ? ' ' . $settings['custom_classes'] : '';
// Link settings.
$link_attrs = woodmart_get_link_attrs( $settings['link'] );
// Wrapper.
if ( 'yes' === $settings['button_smooth_scroll'] ) {
woodmart_enqueue_js_script( 'button-element' );
$wrapper_classes .= ' wd-smooth-scroll';
$wrapper_attrs .= ' data-smooth-time="' . $settings['button_smooth_scroll_time'] . '"';
$wrapper_attrs .= ' data-smooth-offset="' . $settings['button_smooth_scroll_offset'] . '"';
}
// Link classes.
if ( 'custom' === $settings['color'] && ( $settings['bg_color'] || $settings['bg_color_hover'] ) ) {
$style_attr = '';
if ( in_array( $settings['color_scheme'], array( 'light', 'dark' ), true ) ) {
$style_attr .= '--btn-color:' . ( 'light' === $settings['color_scheme'] ? '#fff' : '#333' ) . ';';
}
if ( in_array( $settings['color_scheme_hover'], array( 'light', 'dark' ), true ) ) {
$style_attr .= '--btn-color-hover:' . ( 'light' === $settings['color_scheme_hover'] ? '#fff' : '#333' ) . ';';
}
if ( $style_attr ) {
$link_attrs .= ' style="' . $style_attr . '"';
}
} elseif ( 'default' !== $settings['color'] ) {
$link_classes .= ' btn-color-' . $settings['color'];
}
if ( 'yes' === $settings['full_width'] ) {
$link_classes .= ' btn-full-width';
}
// Icon settings.
$icon_output = '';
if ( 'icon' === $settings['icon_type'] && $settings['icon'] ) {
$link_classes .= ' btn-icon-pos-' . $settings['icon_position'];
$icon_output = woodmart_elementor_get_render_icon(
$settings['icon'],
array(
'class' => 'wd-icon',
),
'span'
);
} elseif ( 'image' === $settings['icon_type'] && ! empty( $settings['image'] ) ) {
$link_classes .= ' btn-icon-pos-' . $settings['icon_position'];
$icon_output = woodmart_otf_get_image_html( $settings['image']['id'], $settings['image_size'], $settings['image_custom_dimension'] );
if ( woodmart_is_svg( $settings['image']['url'] ) ) {
if ( 'custom' === $settings['image_size'] && ! empty( $settings['image_custom_dimension'] ) ) {
$icon_output = woodmart_get_svg_html( $settings['image']['id'], $settings['image_custom_dimension'] );
} else {
$icon_output = woodmart_get_svg_html( $settings['image']['id'], $settings['image_size'] );
}
}
}
// Text classes.
if ( woodmart_elementor_is_edit_mode() && $settings['inline_edit'] ) {
$text_classes .= ' elementor-inline-editing';
}
if ( isset( $settings['inline_editing_key'] ) ) {
$inline_editing_key = $settings['inline_editing_key'];
}
woodmart_enqueue_inline_style( 'button' );
?>
<div class="<?php echo esc_attr( $wrapper_classes ); ?>" <?php echo $wrapper_attrs; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<a class="<?php echo esc_attr( $link_classes ); ?>" <?php echo $link_attrs; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<span class="wd-btn-text<?php echo esc_attr( $text_classes ); ?>" data-elementor-setting-key="<?php echo esc_attr( $inline_editing_key ); ?>text">
<?php echo esc_html( $settings['text'] ); ?>
</span>
<?php if ( $icon_output ) : ?>
<span class="wd-btn-icon">
<?php echo $icon_output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</span>
<?php endif; ?>
</a>
</div>
<?php
}
}