PluginProbe
Social Share for WooCommerce / trunk
Social Share for WooCommerce vtrunk
1.2.23 trunk 1.0 1.0.1 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.6.1 1.1.6.2 1.1.7 1.2.0 1.2.1 1.2.1.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.15.1 1.2.16 All 41 releases
product-share / includes / setting-tab / general.php

general.php in Social Share for WooCommerce trunk, at includes/setting-tab/general.php

561 lines 26.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2 <section class="psfw-settings general" id="psfw-general-section">
3
4 <h3>Icon Settings</h3>
5 <table class="widefat wpx-table">
6 <tr class="alternate" valign="top">
7
8 <td class="row-title" scope="row">
9 <label for="tablecell">
10 <?php echo esc_attr__('Icons to Display', 'product-share'); ?>
11 </label>
12 </td>
13 <td>
14 <ul id="sortable" style="margin-top: 5px;" class="checklist sortable">
15 <?php
16
17 $psfw_selected_labels = Product_Share::get_options()->selected_lables;
18
19 foreach ( $psfw_selected_labels as $psfw_label_key => $psfw_label){
20
21 // Font Awesome Icon Family
22 $psfw_font_type = 'brands';
23 if( $psfw_label_key == 'envelope' ){
24 $psfw_font_type = 'solid';
25 }
26
27 if ( $psfw_label_key == 'gmail' ) {
28 $psfw_font_type = 'regular';
29 }
30
31 /**
32 * `psfw_icon_key` added to change the icon key
33 *
34 * @since 1.2.6
35 *
36 */
37 ?>
38 <li id="list_item_<?php echo esc_attr( $psfw_label_key ); ?>" class='ui-state-default'>
39 <label>
40 <input type='hidden' value='<?php echo esc_attr( $psfw_label ); ?>' name='product_share_option[buttons][<?php echo esc_attr( $psfw_label_key ); ?>]'>
41 <span>
42 <i class="fa-<?php echo esc_attr( $psfw_font_type ); ?> fa-<?php echo esc_attr( apply_filters( 'psfw_icon_key', $psfw_label_key ) ); ?>"></i> <?php echo ( $psfw_label_key == 'envelope' ) ? esc_html__('Email', 'product-share') : esc_attr( $psfw_label ); ?>
43 </span>
44 </label>
45 </li>
46 <?php
47 }
48 ?>
49
50 </ul>
51
52 <button class="more-icons" type="button"><i class="fas fa-plus"></i> <?php echo esc_attr__('More Icons', 'product-share'); ?></button>
53
54 <div class="all-icons">
55
56 <ul id="base-list" class="sortable-list">
57
58 <?php
59
60 // Getting the default/saved social icons
61 $psfw_labels = Product_Share::get_options()->labels;
62
63 foreach( product_share()->all_icons() as $psfw_icon_key => $psfw_icon ):
64
65 // Font Awesome Icon Family
66 $psfw_font_type = 'brands';
67 if( $psfw_icon_key == 'envelope' ){
68 $psfw_font_type = 'solid';
69 }
70
71 if ( $psfw_icon_key == 'gmail' ) {
72 $psfw_font_type = 'regular';
73 }
74
75 /**
76 * `psfw_icon_key` added to change the icon key
77 *
78 * @since 1.2.6
79 *
80 */
81
82 ?>
83
84
85 <li id="<?php echo esc_attr( $psfw_icon_key ); ?>">
86 <label>
87 <input type="checkbox" name="product_share_option[all_buttons][<?php echo esc_attr( $psfw_icon_key ); ?>]" value="<?php echo esc_attr( $psfw_icon ); ?>" <?php checked( in_array( $psfw_icon, $psfw_labels), 1 ); ?> />
88 <span>
89 <i class="fa-<?php echo esc_attr( $psfw_font_type ); ?> fa-<?php echo esc_attr( apply_filters( 'psfw_icon_key', $psfw_icon_key ) ); ?>"></i> <?php echo esc_attr( $psfw_icon ); ?>
90 </span>
91 </label>
92 </li>
93
94
95 <?php
96 endforeach;
97 ?>
98 </ul>
99
100 </div>
101
102 </td>
103 </tr>
104
105 <?php
106
107 // Icon Appearance
108 WPXtension_Setting_Fields::select(
109 $psfw_options = array(
110 'tr_class' => '',
111 'label' => esc_attr__('Icon Appearance', 'product-share'),
112 'value' => Product_Share::get_options()->icon_appearance,
113 'name' => 'product_share_option[icon_appearance]',
114 'option' => apply_filters('psfw_icon_appearance_option', array(
115 'option_1' => array(
116 'name' => 'Only Icon',
117 'value' => 'only_icon',
118 'need_pro' => false,
119 ),
120 'option_2' => array(
121 'name' => 'Only Text',
122 'value' => 'only_text',
123 'need_pro' => false,
124 ),
125 'option_3' => array(
126 'name' => 'Icon with text',
127 'value' => 'icon_with_text',
128 'need_pro' => false,
129 ),
130 )),
131 'note' => '',
132 'need_pro' => false,
133 )
134 );
135
136
137 // Social Button Shape
138 WPXtension_Setting_Fields::select(
139 $psfw_options = array(
140 'tr_class' => 'alternate',
141 'label' => esc_attr__('Social Button Shape', 'product-share'),
142 'value' => Product_Share::get_options()->button_shape,
143 'name' => 'product_share_option[button_shape]',
144 'option' => apply_filters('psfw_button_shape_option', array(
145 'option_1' => array(
146 'name' => 'Round',
147 'value' => 'round',
148 'need_pro' => false,
149 ),
150 'option_2' => array(
151 'name' => 'Square',
152 'value' => 'square',
153 'need_pro' => false,
154 ),
155 'option_3' => array(
156 'name' => 'Rounded Corner',
157 'value' => 'rounded_corner',
158 'need_pro' => false,
159 ),
160 'option_4' => array(
161 'name' => 'Leaf (Left)',
162 'value' => 'leaf_left',
163 'need_pro' => false,
164 ),
165 'option_5' => array(
166 'name' => 'Leaf (Right)',
167 'value' => 'leaf_right',
168 'need_pro' => false,
169 ),
170 'option_6' => array(
171 'name' => 'TV Screen',
172 'value' => 'tv_screen',
173 'need_pro' => false,
174 ),
175 )),
176 'note' => '',
177 'need_pro' => false,
178 )
179 );
180
181 // Copy to clipboard
182 WPXtension_Setting_Fields::checkbox(
183 $psfw_options = array(
184 'tr_class' => '',
185 'label' => esc_attr__('Enable "Copy to Clipboard"', 'product-share'),
186 'value' => Product_Share::get_options()->copy_to_clipboard,
187 'name' => 'product_share_option[copy_to_clipboard]',
188 'default_value' => 'yes',
189 'checkbox_label' => esc_attr__('Display "Copy to Clipboard" button to copy product link.', 'product-share'),
190 'note' => esc_attr__('Note: To get it to work, your site should have a secure connection. For Example: https://example.com', 'product-share'),
191 'need_pro' => false,
192 )
193 );
194
195 // All Icon Button
196 WPXtension_Setting_Fields::checkbox(
197 $psfw_options = array(
198 'tr_class' => 'alternate',
199 'label' => esc_attr__('Enable "All Icon" Button', 'product-share'),
200 'value' => Product_Share::get_options()->all_icon,
201 'name' => 'product_share_option[nofollow_link]',
202 'name' => 'product_share_option[all_icon]',
203 'default_value' => 'yes',
204 'checkbox_label' => esc_attr__('Display a "plus" button to show a popup/modal containing all the social icons".', 'product-share'),
205 'need_pro' => false,
206 )
207 );
208
209 // All Icon Close Button
210 WPXtension_Setting_Fields::checkbox(
211 $psfw_options = array(
212 'tr_class' => '',
213 'label' => esc_attr__('Enable Popup Dismiss', 'product-share'),
214 'value' => get_option( 'product_share_option' ) === false ? 'yes' : ( !isset( Product_Share::get_options()->all_icon_close ) ? 'no' : Product_Share::get_options()->all_icon_close ),
215 'name' => 'product_share_option[all_icon_close]',
216 'default_value' => 'yes',
217 'checkbox_label' => esc_attr__('Display a "Close" button on the social icons popup to dismiss.', 'product-share'),
218 'need_pro' => false,
219 )
220 );
221
222 ?>
223 </table>
224
225 <h3>General Settings</h3>
226 <table class="widefat wpx-table">
227
228 <?php
229
230 // Where to Display
231 WPXtension_Setting_Fields::select(
232 $psfw_options = array(
233 'tr_class' => 'alternate',
234 'label' => esc_attr__('Where to Display', 'product-share'),
235 'value' => Product_Share::get_options()->display_position,
236 'name' => 'product_share_option[display_position]',
237 'option' => apply_filters('psfw_display_position_option', array(
238 'option_1' => array(
239 'name' => 'Always show with category name',
240 'value' => 'with_category',
241 'need_pro' => false,
242 ),
243 'option_2' => array(
244 'name' => 'Display after product tilte',
245 'value' => 'after_product_title',
246 'need_pro' => false,
247 ),
248 'option_3' => array(
249 'name' => 'Display after product price',
250 'value' => 'after_product_price',
251 'need_pro' => false,
252 ),
253 'option_4' => array(
254 'name' => 'Hide Icon',
255 'value' => 'hide_icon',
256 'need_pro' => false,
257 ),
258 'option_5' => array(
259 'name' => 'Display only Shortcode',
260 'value' => 'display_only_shortcode',
261 'need_pro' => true,
262 ),
263 )),
264 'note' => '',
265 'need_pro' => false,
266 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
267 )
268 );
269
270 // Enable Icon Title
271 WPXtension_Setting_Fields::checkbox(
272 $psfw_options = array(
273 'tr_class' => '',
274 'label' => esc_attr__('Enable Icon Title', 'product-share'),
275 'value' => Product_Share::get_options()->icon_title,
276 'name' => 'product_share_option[icon_title]',
277 'default_value' => 'yes',
278 'checkbox_label' => esc_attr__('Display title before social icons.', 'product-share'),
279 'note' => '',
280 'need_pro' => false,
281 )
282 );
283
284 // Enable Nofollow
285 WPXtension_Setting_Fields::checkbox(
286 $psfw_options = array(
287 'tr_class' => 'alternate new',
288 'label' => esc_attr__('Enable Nofollow', 'product-share'),
289 'value' => get_option( 'product_share_option' ) === false ? 'yes' : ( !isset( Product_Share::get_options()->nofollow_link ) ? 'no' : Product_Share::get_options()->nofollow_link ),
290 'name' => 'product_share_option[nofollow_link]',
291 'default_value' => 'yes',
292 'checkbox_label' => esc_attr__('Enable nofollow to avoid endorsing site.', 'product-share'),
293 'note' => esc_attr__('Note: If eanbled, it will not pass ranking credit.', 'product-share'),
294 'need_pro' => false,
295 'tag' => esc_attr__('New', 'product-share'),
296 ),
297 );
298
299 // Enable Encode URL
300 WPXtension_Setting_Fields::checkbox(
301 $psfw_options = array(
302 'tr_class' => '',
303 'label' => esc_attr__('Enable Encode URL', 'product-share'),
304 'value' => Product_Share::get_options()->encode_url,
305 'name' => 'product_share_option[encode_url]',
306 'default_value' => 'yes',
307 'checkbox_label' => esc_attr__('Encode the product URL.', 'product-share'),
308 'note' => esc_attr__('Note: It will not affect `copy to clipboard` feature. Brwosers can\'t read encoded URL.', 'product-share'),
309 'need_pro' => false,
310 )
311 );
312
313 // Enable Tooltip
314 WPXtension_Setting_Fields::checkbox(
315 $psfw_options = array(
316 'tr_class' => 'alternate',
317 'label' => esc_attr__('Enable Tooltip', 'product-share'),
318 'value' => get_option( 'product_share_option' ) === false ? 'yes' : ( !isset( Product_Share::get_options()->tooltip ) ? 'no' : Product_Share::get_options()->tooltip ),
319 'name' => 'product_share_option[tooltip]',
320 'default_value' => 'yes',
321 'checkbox_label' => esc_attr__('Display tooltip over social icons.', 'product-share'),
322 'note' => '',
323 'need_pro' => true,
324 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
325 ),
326 );
327
328 // Enable Variation Link
329 WPXtension_Setting_Fields::checkbox(
330 $psfw_options = array(
331 'tr_class' => '',
332 'label' => esc_attr__('Enable Variation Link', 'product-share'),
333 'value' => Product_Share::get_options()->variation_link,
334 'name' => 'product_share_option[variation_link]',
335 'default_value' => 'yes',
336 'checkbox_label' => esc_attr__('Change the product URL to variation URL after selecting all attribute values from the dropdowns.', 'product-share'),
337 'note' => '',
338 'need_pro' => true,
339 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
340 ),
341 );
342
343 // Product Wrapper Class
344 WPXtension_Setting_Fields::textarea(
345 $psfw_options = array(
346 'tr_class' => 'alternate',
347 'label' => esc_attr__('Container Class', 'product-share'),
348 'ele_class' => '',
349 'value' => Product_Share::get_options()->container_class,
350 'name' => 'product_share_option[container_class]',
351 'note' => __('Give <code>comma (,)</code> after each target classes. <b>Examples:</b> <code>.product.product-type-variable</code>. <br>Target a container to ensure that both `variation_id input` and `social share icons` are inside of it.', 'product-share'),
352 'note_info' => __('Keep blank, if you don\'t have any issues with variation dropdown(s) base share URL. This field is for fixing variation dropdown(s) base URL changing compatibility issue.', 'product-share'),
353 'placeholder' => '.product.product-type-variable',
354 'need_pro' => false,
355 'need_pro' => true,
356 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
357 )
358 );
359
360
361 ?>
362
363 </table>
364
365 <h3>Floating Social Icons Settings</h3>
366 <table class="widefat wpx-table">
367 <?php
368
369 // Enable Floating Icon
370 WPXtension_Setting_Fields::checkbox(
371 $psfw_options = array(
372 'tr_class' => 'alternate',
373 'label' => esc_attr__('Enable Floating Icon', 'product-share'),
374 'value' => Product_Share::get_options()->float_icon,
375 'name' => 'product_share_option[float_icon]',
376 'default_value' => 'yes',
377 'checkbox_label' => esc_attr__('Enable Floating Social Icon on Single Product Page.', 'product-share'),
378 'note' => '',
379 'need_pro' => true,
380 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
381 )
382 );
383
384 // Floating Icon Position
385 WPXtension_Setting_Fields::select(
386 $psfw_options = array(
387 'tr_class' => '',
388 'label' => esc_attr__('Position', 'product-share'),
389 'value' => Product_Share::get_options()->float_icon_position,
390 'name' => 'product_share_option[float_icon_position]',
391 'option' => apply_filters('psfw_float_icon_position_option', array(
392 'option_1' => array(
393 'name' => 'Right Side',
394 'value' => 'right_side',
395 'need_pro' => true,
396 ),
397 'option_2' => array(
398 'name' => 'Left Side',
399 'value' => 'left_side',
400 'need_pro' => true,
401 ),
402 )),
403 'note' => '',
404 'need_pro' => true,
405 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
406 )
407 );
408
409 ?>
410 </table>
411
412 <h3>Shop/Archive Settings</h3>
413 <table class="widefat wpx-table">
414 <?php
415
416 // Enable on Shop/Archive
417 WPXtension_Setting_Fields::checkbox(
418 $psfw_options = array(
419 'tr_class' => 'alternate',
420 'label' => esc_attr__('Enable on Archive/Shop', 'product-share'),
421 'value' => get_option( 'product_share_option' ) === false ? 'yes' : ( !isset( Product_Share::get_options()->social_share_archive ) ? 'no' : Product_Share::get_options()->social_share_archive ),
422 'name' => 'product_share_option[social_share_archive]',
423 'default_value' => 'yes',
424 'checkbox_label' => esc_attr__('Enable Social Icon on Archive/Shop page for each Product.', 'product-share'),
425 'note' => '',
426 'need_pro' => true,
427 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
428 )
429 );
430
431 // Button Appearance
432 WPXtension_Setting_Fields::select(
433 $psfw_options = array(
434 'tr_class' => '',
435 'label' => esc_attr__('Button Appearance', 'product-share'),
436 'value' => Product_Share::get_options()->archive_button_appearance,
437 'name' => 'product_share_option[archive_button_appearance]',
438 'option' => apply_filters('psfw_archive_button_appearance_option', array(
439 'option_1' => array(
440 'name' => 'Only Icon',
441 'value' => 'only_icon',
442 'need_pro' => true,
443 ),
444 'option_2' => array(
445 'name' => 'Only Text',
446 'value' => 'only_text',
447 'need_pro' => true,
448 ),
449 'option_3' => array(
450 'name' => 'Icon with text',
451 'value' => 'icon_with_text',
452 'need_pro' => true,
453 ),
454 )),
455 'note' => '',
456 'need_pro' => true,
457 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
458 )
459 );
460
461 // Button Position
462 WPXtension_Setting_Fields::select(
463 $psfw_options = array(
464 'tr_class' => 'alternate',
465 'label' => esc_attr__('Position', 'product-share'),
466 'value' => Product_Share::get_options()->archive_button_position,
467 'name' => 'product_share_option[archive_button_position]',
468 'option' => apply_filters('psfw_archive_button_position_option', array(
469 'option_1' => array(
470 'name' => 'Top Left',
471 'value' => 'top_left',
472 'need_pro' => true,
473 ),
474 'option_2' => array(
475 'name' => 'Top Right',
476 'value' => 'top_right',
477 'need_pro' => true,
478 ),
479 )),
480 'note' => '',
481 'need_pro' => true,
482 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
483 )
484 );
485
486 // Archive button Shape
487 WPXtension_Setting_Fields::select(
488 $psfw_options = array(
489 'tr_class' => '',
490 'label' => esc_attr__('Shape', 'product-share'),
491 'value' => Product_Share::get_options()->archive_button_shape,
492 'name' => 'product_share_option[archive_button_shape]',
493 'option' => apply_filters('psfw_archive_button_shape_option', array(
494 'option_1' => array(
495 'name' => 'Round',
496 'value' => 'round',
497 'need_pro' => true,
498 ),
499 'option_2' => array(
500 'name' => 'Square',
501 'value' => 'square',
502 'need_pro' => true,
503 ),
504 'option_3' => array(
505 'name' => 'Rounded Corner',
506 'value' => 'rounded_corner',
507 'need_pro' => true,
508 ),
509 'option_4' => array(
510 'name' => 'Leaf (Left)',
511 'value' => 'leaf_left',
512 'need_pro' => false,
513 ),
514 'option_5' => array(
515 'name' => 'Leaf (Right)',
516 'value' => 'leaf_right',
517 'need_pro' => false,
518 ),
519 'option_6' => array(
520 'name' => 'TV Screen',
521 'value' => 'tv_screen',
522 'need_pro' => false,
523 ),
524 )),
525 'note' => '',
526 'need_pro' => true,
527 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
528 )
529 );
530
531 // Button Color
532 WPXtension_Setting_Fields::color(
533 $psfw_options = array(
534 'tr_class' => 'alternate',
535 'label' => esc_attr__('Color', 'product-share'),
536 'value' => Product_Share::get_options()->archive_button_color,
537 'name' => 'product_share_option[archive_button_color]',
538 'default_value' => Product_Share::get_options()->archive_button_color,
539 'note' => '',
540 'need_pro' => true,
541 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
542 )
543 );
544
545 // Button Background Color
546 WPXtension_Setting_Fields::color(
547 $psfw_options = array(
548 'tr_class' => '',
549 'label' => esc_attr__('Background Color', 'product-share'),
550 'value' => Product_Share::get_options()->archive_button_bg_color,
551 'name' => 'product_share_option[archive_button_bg_color]',
552 'default_value' => Product_Share::get_options()->archive_button_bg_color,
553 'note' => '',
554 'need_pro' => true,
555 'pro_exists' => Product_Share::check_plugin_state('product-share-pro'),
556 )
557 );
558
559 ?>
560 </table>
561 </section>