PluginProbe
Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant / 2.3.2
Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant v2.3.2
2.3.2 2.3.1 2.3.0 2.2.8 2.2.7 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.11.0 1.11.1 1.11.2 1.6 1.7 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.10 1.9.11 All 60 releases
merchant / inc / modules / inactive-tab-message / admin / options.php

options.php in Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant 2.3.2, at inc/modules/inactive-tab-message/admin/options.php

257 lines 7.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Inactive Tab Message — Admin — Option group definitions.
4 *
5 * Pure data file. Returns the option groups array
6 * consumed by init_option_groups().
7 *
8 * @package Merchant
9 */
10
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit; // Exit if accessed directly
13 }
14
15 /**
16 * Messages Section.
17 */
18
19 return array(
20 array(
21 'title' => esc_html__( 'Messages', 'merchant' ),
22 'module' => 'inactive-tab-message',
23 'fields' => array(
24
25 array(
26 'id' => 'info_dynamic_variables',
27 'type' => 'info',
28 'content' => '<strong>' . esc_html__( 'Dynamic Variables:', 'merchant' ) . '</strong><br>'
29 . '<code>{cart_count}</code> — ' . esc_html__( 'Number of items in cart', 'merchant' ) . '<br>'
30 . '<code>{cart_total}</code> — ' . esc_html__( 'Formatted cart total with currency', 'merchant' ) . '<br>'
31 . '<code>{site_name}</code> — ' . esc_html__( 'Your site name', 'merchant' ),
32 ),
33
34 array(
35 'id' => 'message',
36 'type' => 'text',
37 'title' => esc_html__( 'Empty cart message', 'merchant' ),
38 'desc' => esc_html__( 'Shown when the cart is empty and user switches to another tab.', 'merchant' ),
39 'default' => esc_html__( '✋ Don\'t forget this', 'merchant' ),
40 ),
41
42 array(
43 'id' => 'abandoned_message',
44 'type' => 'text',
45 'title' => esc_html__( 'Cart items message', 'merchant' ),
46 'desc' => esc_html__( 'Shown when the user has items in the cart and switches tab.', 'merchant' ),
47 'default' => esc_html__( '✋ You left something in the cart', 'merchant' ),
48 ),
49
50 array(
51 'id' => 'high_value_message',
52 'type' => 'text',
53 'title' => esc_html__( 'High-value cart message', 'merchant' ),
54 'desc' => esc_html__( 'Shown when the cart total exceeds the threshold below. Leave empty to disable.', 'merchant' ),
55 'default' => '',
56 ),
57
58 array(
59 'id' => 'high_value_threshold',
60 'type' => 'number',
61 'title' => esc_html__( 'High-value threshold', 'merchant' ),
62 'desc' => esc_html__( 'Cart total amount that triggers the high-value message.', 'merchant' ),
63 'default' => 100,
64 'conditions' => array(
65 'relation' => 'AND',
66 'terms' => array(
67 array(
68 'field' => 'high_value_message',
69 'operator' => '!==',
70 'value' => '',
71 ),
72 ),
73 ),
74 'ai_meta' => array(
75 'usage_hint' => 'Minimum cart total (in store currency) that triggers the high_value_message instead of the abandoned_message. Only active when high_value_message is not empty.',
76 ),
77 ),
78
79 array(
80 'id' => 'return_message',
81 'type' => 'text',
82 'title' => esc_html__( 'Return-to-tab message', 'merchant' ),
83 'desc' => esc_html__( 'Brief message shown when the user returns to the tab. Leave empty to disable.', 'merchant' ),
84 'default' => '',
85 ),
86
87 array(
88 'id' => 'return_duration',
89 'type' => 'range',
90 'title' => esc_html__( 'Return message duration (seconds)', 'merchant' ),
91 'min' => 1,
92 'max' => 10,
93 'step' => 1,
94 'unit' => 's',
95 'default' => 2,
96 'conditions' => array(
97 'relation' => 'AND',
98 'terms' => array(
99 array(
100 'field' => 'return_message',
101 'operator' => '!==',
102 'value' => '',
103 ),
104 ),
105 ),
106 ),
107
108 ),
109 ),
110 array(
111 'title' => esc_html__( 'Favicon', 'merchant' ),
112 'module' => 'inactive-tab-message',
113 'fields' => array(
114
115 array(
116 'id' => 'enable_favicon',
117 'type' => 'switcher',
118 'title' => esc_html__( 'Change favicon on tab leave', 'merchant' ),
119 'desc' => esc_html__( 'Replace the browser favicon when the tab is inactive. Restored on return.', 'merchant' ),
120 'default' => 0,
121 'ai_meta' => array(
122 'toggle_for' => 'favicon_type',
123 'usage_hint' => 'Enable this toggle before setting favicon_type, favicon_emoji, or favicon_url. When enabled, the browser favicon is replaced while the tab is inactive.',
124 ),
125 ),
126
127 array(
128 'id' => 'favicon_type',
129 'type' => 'radio',
130 'title' => esc_html__( 'Favicon type', 'merchant' ),
131 'options' => array(
132 'emoji' => esc_html__( 'Emoji', 'merchant' ),
133 'image' => esc_html__( 'Custom image', 'merchant' ),
134 ),
135 'default' => 'emoji',
136 'condition' => array( 'enable_favicon', '==', '1' ),
137 ),
138
139 array(
140 'id' => 'favicon_emoji',
141 'type' => 'select',
142 'title' => esc_html__( 'Favicon emoji', 'merchant' ),
143 'options' => array(
144 'wave' => '👋 ' . esc_html__( 'Wave', 'merchant' ),
145 'bell' => '🔔 ' . esc_html__( 'Bell', 'merchant' ),
146 'cart' => '🛒 ' . esc_html__( 'Cart', 'merchant' ),
147 'clock' => '' . esc_html__( 'Clock', 'merchant' ),
148 'alert' => '' . esc_html__( 'Alert', 'merchant' ),
149 'money' => '💰 ' . esc_html__( 'Money', 'merchant' ),
150 'fire' => '🔥 ' . esc_html__( 'Fire', 'merchant' ),
151 'star' => '' . esc_html__( 'Star', 'merchant' ),
152 ),
153 'default' => 'wave',
154 'conditions' => array(
155 'relation' => 'AND',
156 'terms' => array(
157 array(
158 'field' => 'enable_favicon',
159 'operator' => '===',
160 'value' => true,
161 ),
162 array(
163 'field' => 'favicon_type',
164 'operator' => '===',
165 'value' => 'emoji',
166 ),
167 ),
168 ),
169 ),
170
171 array(
172 'id' => 'favicon_url',
173 'type' => 'upload',
174 'title' => esc_html__( 'Custom favicon image', 'merchant' ),
175 'desc' => esc_html__( 'Upload a square image (recommended 32×32 or 64×64 pixels).', 'merchant' ),
176 'default' => '',
177 'conditions' => array(
178 'relation' => 'AND',
179 'terms' => array(
180 array(
181 'field' => 'enable_favicon',
182 'operator' => '===',
183 'value' => true,
184 ),
185 array(
186 'field' => 'favicon_type',
187 'operator' => '===',
188 'value' => 'image',
189 ),
190 ),
191 ),
192 ),
193
194 ),
195 ),
196 array(
197 'title' => esc_html__( 'Message Rotation', 'merchant' ),
198 'module' => 'inactive-tab-message',
199 'fields' => array(
200
201 array(
202 'id' => 'enable_rotation',
203 'type' => 'switcher',
204 'title' => esc_html__( 'Enable rotating messages', 'merchant' ),
205 'desc' => esc_html__( 'When enabled, the tab title cycles through the messages below instead of showing the single messages above.', 'merchant' ),
206 'default' => 0,
207 'ai_meta' => array(
208 'toggle_for' => 'rotation_messages',
209 'usage_hint' => 'Enable this toggle before setting rotation_messages. When enabled, the single message fields above are ignored — only the rotation list is used.',
210 ),
211 ),
212
213 array(
214 'id' => 'rotation_messages',
215 'type' => 'sortable_repeater',
216 'title' => esc_html__( 'Rotation messages', 'merchant' ),
217 'desc' => esc_html__( 'Add messages to cycle through. Dynamic variables ({cart_count}, {cart_total}, {site_name}) are supported.', 'merchant' ),
218 'button_label' => esc_html__( 'Add Message', 'merchant' ),
219 'default' => array(),
220 'condition' => array( 'enable_rotation', '==', '1' ),
221 'ai_meta' => array(
222 'toggled_by' => 'enable_rotation',
223 'usage_hint' => 'List of messages to cycle through on the inactive tab. Only active when enable_rotation=1. Supports dynamic variables: {cart_count}, {cart_total}, {site_name}.',
224 ),
225 ),
226
227 array(
228 'id' => 'rotation_interval',
229 'type' => 'range',
230 'title' => esc_html__( 'Rotation interval (seconds)', 'merchant' ),
231 'min' => 1,
232 'max' => 10,
233 'step' => 1,
234 'unit' => 's',
235 'default' => 3,
236 'condition' => array( 'enable_rotation', '==', '1' ),
237 ),
238
239 ),
240 ),
241 array(
242 'title' => esc_html__( 'Scrolling Text', 'merchant' ),
243 'module' => 'inactive-tab-message',
244 'fields' => array(
245
246 array(
247 'id' => 'enable_scroll',
248 'type' => 'switcher',
249 'title' => esc_html__( 'Scroll long messages', 'merchant' ),
250 'desc' => esc_html__( 'When enabled, the tab title will scroll (marquee) if the message is longer than the tab can display. Direction is automatically detected for RTL languages (Arabic, Farsi, etc.).', 'merchant' ),
251 'default' => 0,
252 ),
253
254 ),
255 ),
256 );
257