PluginProbe
YayMail – WooCommerce Email Customizer / 4.3.3
YayMail – WooCommerce Email Customizer v4.3.3
4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 3.4.2 3.4.3 All 55 releases
yaymail / templates / elements / button.php

button.php in YayMail – WooCommerce Email Customizer 4.3.3, at templates/elements/button.php

108 lines 3.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 defined( 'ABSPATH' ) || exit;
3 use YayMail\Utils\TemplateHelpers;
4 use YayMail\Constants\AttributesData;
5 /**
6 * $args includes
7 * $element
8 * $render_data
9 * $is_nested
10 */
11 if ( empty( $args['element'] ) ) {
12 return;
13 }
14
15 $element = $args['element'];
16 $data = $element['data'];
17
18 $default_button_padding = [
19 'top' => '12',
20 'right' => '20',
21 'bottom' => '12',
22 'left' => '20',
23 ];
24
25 $border = isset( $data['border'] ) ? $data['border'] : AttributesData::BORDER_DEFAULT;
26 $border_style = TemplateHelpers::get_border_css_value( $border );
27
28 $wrapper_style = TemplateHelpers::get_style(
29 [
30 'width' => '100%',
31 'text-align' => 'center',
32 'background-color' => $data['background_color'],
33 ]
34 );
35
36 $margin_value = isset( $data['margin'] ) && 'center' === $data['margin'] ? '0 auto' : 'auto';
37 $float_value = in_array( $data['align'], [ 'left', 'right' ], true ) ? $data['align'] : 'unset';
38 $button_holder_style = TemplateHelpers::get_style(
39 [
40 'width' => $data['width'] . '%',
41 'min-width' => $data['width'] . '%',
42 'margin' => $margin_value,
43 'padding' => TemplateHelpers::get_spacing_value( isset( $data['padding'] ) ? $data['padding'] : [] ),
44 'float' => $float_value,
45 'border-spacing' => '0',
46 // Make sure this will work when inject css not working
47 ]
48 );
49
50
51 $border_radius = $data['border_radius'];
52
53 $container_style = TemplateHelpers::get_style(
54 [
55 'display' => 'inline-block',
56 'width' => '100%',
57 'box-sizing' => 'border-box',
58 'border-radius' => TemplateHelpers::get_border_radius_value( $border_radius, 'px' ),
59 'background-color' => $data['button_background_color'],
60 'word-break' => 'break-word',
61 ]
62 ) . $border_style;
63
64 $link_style = TemplateHelpers::get_style(
65 [
66 'text-decoration' => 'none',
67 ]
68 );
69
70 $text_style = TemplateHelpers::get_style(
71 [
72 'display' => 'block',
73 'font-family' => TemplateHelpers::get_font_family_value( $data['font_family'] ),
74 'line-height' => "{$data['height']}px",
75 'color' => $data['text_color'],
76 'font-size' => "{$data['font_size']}px",
77 'font-weight' => $data['weight'],
78 'padding' => TemplateHelpers::get_spacing_value( isset( $data['button_padding'] ) ? $data['button_padding'] : $default_button_padding ),
79 'text-align' => 'center',
80 ]
81 );
82
83 ob_start();
84 ?>
85
86 <table class="yaymail-element-button" style="<?php echo esc_attr( $button_holder_style ); ?>">
87 <tbody>
88 <tr>
89 <td style="padding: 0;">
90 <div style="<?php echo esc_attr( $container_style ); ?>">
91 <a
92 href="<?php echo esc_url( do_shortcode( $data['url'] ) ); ?>"
93 style="<?php echo esc_attr( $link_style ); ?>"
94 target="_blank"
95 rel="noreferrer"
96 >
97 <span style="<?php echo esc_attr( $text_style ); ?>"><?php yaymail_kses_post_e( do_shortcode( $data['text'] ) ); ?></span>
98 </a>
99 </div>
100 </td>
101 </tr>
102 </tbody>
103 </table>
104
105 <?php
106 $element_content = ob_get_clean();
107 TemplateHelpers::wrap_element_content( $element_content, $element, $wrapper_style );
108