PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.19
ووسلام – همگام سازی ووکامرس و باسلام v1.10.19
1.10.19 1.10.20 1.10.18 1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.2 1.9.1 1.9.0 1.8.8 1.8.5 1.8.6 All 53 releases
sync-basalam / includes / Admin / Product / elements / SingleProduct / PriceChangeField.php

PriceChangeField.php in ووسلام – همگام سازی ووکامرس و باسلام 1.10.19, at includes/Admin/Product/elements/SingleProduct/PriceChangeField.php

96 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SyncBasalam\Admin\Product\elements\SingleProduct;
4
5 use SyncBasalam\Utilities\PriceAdjustment;
6
7 defined('ABSPATH') || exit;
8
9 class PriceChangeField
10 {
11 public const META_KEY = '_sync_basalam_price_change_value';
12
13 public static function renderField()
14 {
15 $value = (string) get_post_meta(get_the_ID(), self::META_KEY, true);
16 $isCommission = PriceAdjustment::isCommission($value);
17 $displayValue = !$isCommission && is_numeric($value) ? number_format((int) $value, 0) : '';
18 $tooltip = 'اگر این فیلد را پر کنید، به جای تغییر قی�
19 ت سراسری تنظی�
20 ات برای این �
21 حصول استفاده �
22 ی‌شود. خالی بگذارید تا ه�
23 ان تنظی�
24 سراسری اع�
25 ال شود. �
26 قدار درصدی حداکثر ۳۵٪ افزایش یا ۳۵٪ کاهش (�
27 نفی یعنی کاهش قی�
28 ت)، خارج از بازه -۱۰۰ تا ۱۰۰ �
29 بلغ ثابت تو�
30 انی.';
31 ?>
32 <p class="form-field _sync_basalam_price_change_value_field basalam-form-group-full basalam-price-change-field">
33 <label for="<?php echo esc_attr(self::META_KEY . '_display'); ?>">تغییر قی�
34 ت اختصاصی</label>
35
36 <span class="basalam-price-change-field__control">
37 <span class="basalam-price-change-field__input">
38 <input type="text"
39 id="<?php echo esc_attr(self::META_KEY . '_display'); ?>"
40 class="short basalam-input percentage-input basalam-font-pelak-12"
41 data-role="price-change-input"
42 value="<?php echo esc_attr($displayValue); ?>"
43 inputmode="text"
44 autocomplete="off"
45 <?php echo $isCommission ? 'disabled' : ''; ?>
46 >
47 <span class="percentage-unit basalam-font-13">کار�
48 زد دسته بندی</span>
49 </span>
50
51 <span class="basalam-price-change-field__toggle">
52 <input type="checkbox"
53 id="<?php echo esc_attr(self::META_KEY . '_toggle'); ?>"
54 class="toggle-percentage"
55 <?php echo checked($isCommission, true, false); ?>
56 >
57 <label class="basalam-font-10" for="<?php echo esc_attr(self::META_KEY . '_toggle'); ?>">کار�
58 زد دسته‌بندی</label>
59 </span>
60 </span>
61
62 <?php echo wc_help_tip($tooltip); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- wc_help_tip() escapes its output. ?>
63
64 <input type="hidden"
65 id="<?php echo esc_attr(self::META_KEY); ?>"
66 name="<?php echo esc_attr(self::META_KEY); ?>"
67 data-role="price-change-hidden"
68 value="<?php echo esc_attr($value); ?>"
69 >
70 </p>
71 <?php
72 wp_nonce_field('sync_basalam_save_price_change_action', '_sync_basalam_price_change_nonce');
73 }
74
75 public static function saveField($postId)
76 {
77 if (
78 !isset($_POST['_sync_basalam_price_change_nonce'])
79 || !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['_sync_basalam_price_change_nonce'])), 'sync_basalam_save_price_change_action')
80 ) {
81 return;
82 }
83
84 $rawValue = isset($_POST[self::META_KEY]) ? sanitize_text_field(wp_unslash($_POST[self::META_KEY])) : '';
85 $value = PriceAdjustment::normalize($rawValue);
86
87 if ($value === null) {
88 delete_post_meta($postId, self::META_KEY);
89
90 return;
91 }
92
93 update_post_meta($postId, self::META_KEY, $value);
94 }
95 }
96