تاوتم | پلاگین نویسی وردپرس | توسعه و پشتیبانی وبسایت
198 subscribers
26 photos
27 videos
1 file
64 links
📌 آخرین اطلاعیه و بروزرسانی محصولات

📎 لینک های مهم تاوتم:
https://tavtheme.com/info

💬 برای شخصی سازی و اضافه کردن امکانات جدید به اکانت زیر پیام دهید:
@mehdishamsab
Download Telegram
🎯 سفارش سریع و راحت از طریق واتساپ! 📲
💬 تا حالا شده محصولی رو بخوای بخری ولی کلی مراحل ثبت‌نام و پرداخت اذیتت کنه؟
حالا فقط با یک کلیک، مستقیماً از طریق واتساپ سفارش بده!

🚀 ویژگی‌های این سیستم:
ارسال سریع سفارش به واتساپ ادمین بدون نیاز به فرم‌های پیچیده
دریافت اطلاعات دقیق محصول (نام، قیمت، لینک) در پیام واتساپ
امکان شخصی‌سازی دکمه از طریق پنل مدیریت (متن، رنگ، آیکون و ...)
تجربه خریدی راحت، بدون نیاز به سبد خرید و پرداخت آنلاین

⚡️ تصور کن که مشتری‌ها بدون هیچ دردسری فقط با یک پیام محصول موردنظرشون رو سفارش بدن!
همین حالا این قابلیت رو به فروشگاه ووکامرسی خودت اضافه کن و تجربه‌ی خرید رو برای مشتری‌هات متحول کن! 🚀💚



📥 دانلود افزونه

🌟 تاوتم، راهکاری هوشمند برای رشد فروشگاه‌های ووکامرسی! 🌟

#افزونه_ووکامرس
⛔️ حداقل محدودیت هایی که شرکت های هاستینگ باید روی هاست هایی که به شما میدهند باید داشته باشند تا بتونید از یک سایت فروشگاهی بازدهی خوبی بگیرید!
📌 این مقادیر رو میتونید از فایل php.ini بررسی کنید!
📎اگر سوالی داشتید بهمون پیام بدید!

هاست اقتصادی (Economy) :
max_input_vars : 3000
memory_limit : 512M
max_file_uploads : 20
max_input_time : 300
max_execution_time : 100
upload_max_filesize : 128M
post_max_size : 128M

هاست وردپرس حرفه‌ای (WordPress):
max_input_vars : 10000
memory_limit : 2048M
max_file_uploads : 40
max_input_time : 600
max_execution_time : 300
upload_max_filesize : 256M
post_max_size : 256M

هاست ووکامرس (Woocommerce):
max_input_vars : 20000
memory_limit : 3072M
max_file_uploads : 60
max_input_time : 900
max_execution_time : 300
upload_max_filesize : 512M
post_max_size : 512M

سرور نیمه اختصاصی (Ecommerce):
max_input_vars : 20000
memory_limit : 4096M
max_file_uploads : 120
max_input_time : 1800
max_execution_time : 600
upload_max_filesize : 1024M
post_max_size : 1024M
📌 کاربرد کد:

پس از هر خرید، یک کد تخفیف ۱۰٪ برای مشتری می‌سازد.

کوپن فقط برای ایمیل خریدار قابل استفاده است.

پیام تشکر + کد تخفیف در صفحه تشکر از خرید نمایش داده می‌شود.

مفید برای: افزایش فروش با تشویق مشتریان به خرید مجدد!

اگر نیاز به تغییراتی دارید، بپرسید! 😊


/**
* نمایش کد تخفیف بعد از خرید برای خرید بعدی 🛒
* پس از هر خرید، یک کوپن ۱۰٪ برای مشتری ایجاد می‌کند. (تابع با پیشوند tav_)
*/
add_action('woocommerce_thankyou', 'tav_show_post_purchase_coupon', 10, 1); // پیشوند tav_ اضافه شد
function tav_show_post_purchase_coupon($order_id) { // پیشوند tav_ به نام تابع
$order = wc_get_order($order_id);
$user_email = $order->get_billing_email();

$coupon_code = 'NEXT10-' . $order_id;
$coupon = new WC_Coupon();
$coupon->set_code($coupon_code);
$coupon->set_discount_type('percent');
$coupon->set_amount(10);
$coupon->set_email_restrictions([$user_email]);
$coupon->save();

echo '<div class="woocommerce-message">برای خرید بعدی خود از کد <strong>' . $coupon_code . '</strong> استفاده کنید (10% تخفیف)! 🎉</div>';
}
1
📌 کاربرد کد:
🔒 رفع مشکل قطعی درگاه پرداخت
🚫 هشدار به کاربران برای خاموش کردن فیلترشکن
🛒 بهبود تجربه خرید در ووکامرس

function tav_add_text_after_place_order_button() {
echo '<div class="tav-custom-checkout-text" style="margin-top: 15px; text-align: center; font-size: 14px; color: #666;">';
echo 'لطفا قبل از ورود به درگاه پرداخت فیلتر شکن خود را خاموش کنید';
echo '</div>';
}
add_action('woocommerce_review_order_after_submit', 'tav_add_text_after_place_order_button');
🎯 افزونه TAV حداقل و حداکثر سفارش ووکامرس!

🚀 کنترل حرفه‌ای خریدها با یک کلیک!
تنظیم حداقل/حداکثر تعداد خرید برای محصولات، دسته‌ها یا کل فروشگاه
تخفیف پلکانی جذاب (مثلاً ۱۰٪ تخفیف برای خرید بالای ۵ عدد!)
محدودیت بر اساس نقش کاربری (VIP، عمده‌خریداران) و منطقه جغرافیایی
کنترل وزن سبد خرید (ایده‌آل برای محصولات سنگین یا حساس)

🛒 مناسب برای:
🔹 عمده‌فروشان (حداقل ۵۰ عدد سفارش!)
🔹 خرده‌فروشان (محدودیت خرید در تخفیف‌های ویژه)
🔹 فروشگاه‌های منطقه‌ای (حداقل سفارش ۲۰۰ هزارتومان برای شهرهای مختلف)

⚡️ چرا این افزونه؟
✔️ رابط کاربری آسان
✔️ سازگار با تمام قالب‌های ووکامرس
✔️ بهینه‌سازی شده برای افزایش فروش!

📥 دانلود افزونه

🌟 تاوتم، ابزارهای هوشمند برای فروشگاه‌های حرفه‌ای! 🌟

#افزونه_ووکامرس #مدیریت_سفارشات
📌 کاربرد کد و ویژگی های کلیدی:
افزایش فروش در آخر هفته
کاملا خودکار - بدون نیاز به کوپن دستی
نصب آسان در 30 ثانیه
قابل تنظیم برای هر درصد تخفیفی و هر روز هفته
/**
* اعمال تخفیف 20% در آخر هفته‌ها (جمعه و شنبه)
* این کد به صورت خودکار در روزهای مشخص تخفیف اعمال می‌کند
*/
add_action('woocommerce_cart_calculate_fees', 'tav_weekend_mega_discount');
function tav_weekend_mega_discount($cart) {
// بررسی روزهای جمعه (5) و شنبه (6)
if (in_array(date('w'), [5, 6])) {
// محاسبه مقدار تخفیف (20% از جمع سبد خرید)
$tav_discount = $cart->subtotal * 0.20;

// اعمال تخفیف به عنوان هزینه منفی
$cart->add_fee('تخفیف ویژه آخر هفته (20%)', -$tav_discount);
}
}
📌 کاربرد کد و ویژگی های کلیدی:

ساده‌سازی فرآیند خرید: با حذف فیلدهای غیرضروری، فرآیند خرید برای مشتری سریع‌تر و ساده‌تر می‌شود.

تمرکز بر اطلاعات ضروری: فقط اطلاعات مورد نیاز برای تحویل سفارش در ایران جمع‌آوری می‌شود.

کاهش خطاهای کاربران: با کاهش تعداد فیلدها، احتمال خطا در پر کردن فرم کاهش می‌یابد.

بهبود نرخ تبدیل: فرم ساده‌تر معمولاً منجر به تکمیل بیشتر خریدها می‌شود.




/**
* سفارشی‌سازی فیلدهای صفحه تسویه حساب ووکامرس
* فقط فیلدهای مورد نیاز را نگه می‌دارد و بقیه را حذف می‌کند
*/
add_filter('woocommerce_checkout_fields', 'tav_customize_checkout_fields');

function tav_customize_checkout_fields($fields) {
// لیست فیلدهایی که می‌خواهیم نگه داریم
$tav_allowed_fields = array(
'billing_first_name', // نام
'billing_last_name', // نام خانوادگی
'billing_email', // ایمیل (اختیاری)
'billing_phone', // شماره تلفن همراه
'billing_state', // استان
'billing_city', // شهر
'billing_address_1', // آدرس محل سکونت
'billing_postcode' // کد پستی
);

// حذف تمام فیلدهای بخش billing به جز موارد مورد نظر
foreach ($fields['billing'] as $tav_field_key => $tav_field) {
if (!in_array($tav_field_key, $tav_allowed_fields)) {
unset($fields['billing'][$tav_field_key]);
}
}

// حذف کامل بخش‌های دیگر که نیاز نداریم
unset($fields['shipping']);
unset($fields['order']);
unset($fields['account']);

// تنظیمات سفارشی برای فیلدهای باقیمانده
$fields['billing']['billing_email']['required'] = false; // ایمیل اختیاری

// تنظیم placeholder یا برچسب‌ها اگر نیاز باشد
$fields['billing']['billing_email']['label'] = 'ایمیل شما (اختیاری)';

return $fields;
}
🎯📣 آپدیت افزونه افزونه TAV حداقل و حداکثر سفارش و تخفیف پلکانی ووکامرس!

#آپدیت_افزونه | 3 خرداد 1404

📎 موارد بروز شده در ورژن 1.4.2 :

🔥رفع مشکل تداخل با HPOS ووکامرس
ایجاد شورت کد برای جداول تخفیف پلکانی (هم محصول ساده و هم متغییر)
نمایش درصد تخفیف در صفحه محصول و آرشیو زمانی که تخفیف پلکانی فعال است.
رفع چند باگ گزارش شده


🎯 دانلود افزونه

TavTheme | تاوتم ❤️
TavTheme.com

🌟 تاوتم، ابزارهای هوشمند برای فروشگاه‌های حرفه‌ای! 🌟

#افزونه_ووکامرس #مدیریت_سفارشات
🔹 کد غیرفعال کردن AJAX سبد خرید ووکامرس

📌 این کد دقیقاً چه کاری انجام می‌دهد؟
این کد تمامی رفتارهای AJAX سبد خرید ووکامرس را غیرفعال می‌کند و باعث می‌شود:
✔️ افزودن محصول به سبد خرید بدون رفرش صفحه انجام نشود.
✔️ آپدیت شدن خودکار سبد خرید غیرفعال شود.
✔️ پیام‌های لحظه‌ای ووکامرس حذف شوند.
✔️ درخواست‌های اضافی به سرور کاهش یابد.

🔧 چه مشکلاتی را حل می‌کند؟
1️⃣ تداخل با افزونه‌ها/تم‌های دیگر

بعضی از قالب‌ها (مثل Woodmart) یا افزونه‌ها ممکن است رفتار AJAX سبد خرید را به هم بزنند.

این کد از بروز مشکلاتی مثل آپدیت نشدن سبد خرید یا خطاهای جاوااسکریپت جلوگیری می‌کند.

2️⃣ بهبود عملکرد سایت

با حذف اسکریپت‌های غیرضروری (مثل wc-cart-fragments)، سرعت بارگذاری صفحه بهبود می‌یابد.

3️⃣ رفع خطاهای مرورگر

اگر اسکریپت‌های AJAX به درستی لود نشوند، ممکن است خطاهای JS ایجاد شود. این کد از این اتفاق جلوگیری می‌کند.

🚀 چه زمانی از این کد استفاده کنیم؟
🔸 وقتی می‌خواهید رفتار پیش‌فرض ووکامرس را داشته باشید (بدون AJAX).
🔸 وقتی قالب/افزونه شما با AJAX سبد خرید مشکل دارد.
🔸 وقتی می‌خواهید درخواست‌های HTTP کمتری به سرور ارسال شود.

⚠️ توجه:

این کد AJAX را به‌طور کامل غیرفعال می‌کند، یعنی کاربران پس از افزودن محصول به سبد خرید، باید صفحه را دستی رفرش کنند.

اگر از افزونه‌هایی که به AJAX وابسته هستند استفاده می‌کنید، ممکن است به مشکل بخورید.

📥 نحوه استفاده:
کد را در فایل functions.php قالب فرزند یا با استفاده از افزونه Code Snippets اضافه کنید.

بهینه‌سازی شده برای:

قالب Woodmart (غیرفعال کردن اسکریپت‌های اختصاصی آن)

ووکامرس استاندارد

🔗 TAVTHEME.com
@TAVTHEME
#تاوتم #ووکامرس #وردپرس #بهینه_سازی #Ajax #بدون_کد

/**
* کاملاً غیرفعال کردن AJAX سبد خرید ووکامرس
*/
function completely_disable_woocommerce_cart_ajax() {
// غیرفعال کردن اسکریپت‌های اصلی ووکامرس
wp_dequeue_script('wc-cart-fragments');
wp_deregister_script('wc-cart-fragments');
wp_dequeue_script('wc-add-to-cart');
wp_deregister_script('wc-add-to-cart');

// غیرفعال کردن اسکریپت‌های مخصوص تم Woodmart
wp_dequeue_script('wd-update-cart-fragments-fix');
wp_deregister_script('wd-update-cart-fragments-fix');
wp_dequeue_script('wd-woocommerce-notices');
wp_deregister_script('wd-woocommerce-notices');

// غیرفعال کردن رفتارهای AJAX
add_filter('woocommerce_add_to_cart_fragments', '__return_empty_array');
add_filter('woocommerce_add_to_cart_redirect', '__return_false');
add_filter('option_woocommerce_enable_ajax_add_to_cart', '__return_false');
}

// اجرا با اولویت بسیار بالا
add_action('wp_enqueue_scripts', 'completely_disable_woocommerce_cart_ajax', 99999);

// غیرفعال کردن کلاس‌های AJAX در دکمه‌ها
add_filter('woocommerce_loop_add_to_cart_args', function($args) {
$args['class'] = str_replace('ajax_add_to_cart', '', $args['class']);
return $args;
});

// غیرفعال کردن اسکریپت‌های اضافی در صفحه سبد خرید
add_action('wp_footer', function() {
if (function_exists('is_cart') && is_cart()) {
wp_dequeue_script('wc-cart');
}
}, 1);
🔒 دیگه نگران نفوذ به پنل مدیریت نباشید!
این کد به شما کمک میکنه:
دسترسی به صفحه لاگین و پنل ادمین رو فقط برای IP های خاص باز کنه
از سایت در برابر حمله های Brute Force محافظت کنه
برای سایت های حرفه ای که امنیت براشون مهمه عالیه

💻 کد رو همین الان تو functions.php سایتتون اضافه کنید!

👇 نظرتون رو بگید... نیاز به راهنمایی دارید؟

#وردپرس #امنیت_سایت #کد_کاربردی #توسعه_وب
// مسدود کردن دسترسی به صفحه ورود و پنل مدیریت به جز برای آی پی های خاص
function tav_restrict_admin_access() {
// اگر در حال انجام AJAX هستیم یا در صفحه ورود به API وردپرس هستیم، اجازه دسترسی بده
if (defined('DOING_AJAX') && DOING_AJAX || defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) {
return;
}

$tav_allowed_ips = array('00.00.00.00', '00.00.00.00'); // آی پی های مجاز
$tav_current_ip = $_SERVER['REMOTE_ADDR'];

// اگر آی پی کاربر در لیست مجاز است، اجازه دسترسی بده
if (in_array($tav_current_ip, $tav_allowed_ips)) {
return;
}

// مسدود کردن صفحه ورود
if (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false) {
wp_redirect(home_url());
exit;
}

// مسدود کردن پنل مدیریت برای کاربرانی که لاگین نکرده‌اند
if (is_admin() && !current_user_can('administrator')) {
wp_redirect(home_url());
exit;
}
}
add_action('init', 'tav_restrict_admin_access');




🔗 TAVTHEME.com
@TAVTHEME
🎯📣 آپدیت افزونه ثبت سفارش در واتساپ (رایگان)

#آپدیت_افزونه | 13 مرداد 1404

📎 موارد بروز شده در ورژن 1.6.3 :

📌 رفع مشکل تداخل با HPOS ووکامرس
⚙️ افزودن امکان انتخاب موقعیت دکمه واتساپ توسط ادمین (انتخاب هوک ووکامرس)
🎛 افزودن گزینه نمایش دکمه فقط با شورت‌کد [tav_whatsapp_button]
📂 افزودن انتخاب چندگانه دسته‌بندی محصولات (نمایش دکمه فقط در دسته‌های انتخاب‌شده)
📦 افزودن متاباکس به صفحه ویرایش محصول برای مخفی‌سازی دکمه واتساپ در هر محصول به صورت مجزا

🌍 پشتیبانی کامل از افزونه Polylang:
📝 امکان وارد کردن متن‌های واتساپ برای هر زبان فعال
🌐 نمایش متن دکمه و پیام واتساپ بر اساس زبان فعلی سایت
🔄 تولید خودکار فیلدهای ترجمه‌پذیر برای همه زبان‌های فعال
ℹ️ نمایش پیام راهنما برای ترجمه و لینک به افزونه Polylang در تنظیمات
🛡 بهبود منطق fallback برای ترجمه‌ها و جلوگیری از نمایش متن خالی

🐞 رفع چندین باگ گزارش‌شده و بهبود ساختار کد


🎯 دانلود افزونه نسخه فارسی و انگلیسی:
https://tavtheme.com/product/tav-wp-whatsapp-order/

TavTheme | تاوتم ❤️
TavTheme.com

🌟 تاوتم، ابزارهای هوشمند برای فروشگاه‌های حرفه‌ای! 🌟
🎯📣 افزونه تخفیف اتوماتیک سبد خرید

#آپدیت_افزونه | 5 مرداد 1404

📎 موارد بروز شده در ورژن 2.1.1 :

🚨 استایل‌دهی بخش‌های مدیریت با استفاده از !important برای جلوگیری از تداخل با قالب یا افزونه‌ها
🎨 نمایش پس‌زمینه خاکستری برای نوار پیشرفت (progress bar) حتی زمانی که مقدار پر نشده است
🔧 رفع مشکل بروزرسانی ایجکسی نوار پیشرفت پس از تغییر تعداد یا حذف آیتم سبد خرید

🌐 پشتیبانی کامل از چندزبانه (Polylang): نمایش فیلد جداگانه برای هر زبان در تنظیمات و فرانت‌اند
💬 افزودن پشتیبانی از متغیر {discount} در پیام قبل از تخفیف (علاوه بر {remaining})
📝 به‌روزرسانی توضیحات فیلدهای مدیریت برای راهنمایی استفاده از {remaining} و {discount}

📖 تکمیل و بهبود ترجمه فارسی برای رشته‌های جدید و قبلی
🛠 اصلاح مسیر بارگذاری فایل‌های CSS و JS در مدیریت و فرانت‌اند
📊 افزودن لاگ دیباگ برای بروزرسانی ایجکسی نوار پیشرفت و رفع مشکلات مرتبط

🐞 رفع باگ‌ها و بهبود کلی کد



🎯 دانلود افزونه نسخه فارسی و انگلیسی:
https://tavtheme.com/product/shopping-cart-automatic-discount-plugin/

TavTheme | تاوتم ❤️
TavTheme.com
2
🎯📣 افزونه محرک های فروش برای ووکامرس | Sales Triggers For Woocommerce

#آپدیت_افزونه | 16 مرداد 1404


📎 موارد بروز شده در ورژن 3.3.3 :

🌍 بهبود ترجمه و بین‌المللی‌سازی افزونه
(تمام رشته‌های فارسی به انگلیسی و تابع ترجمه وردپرس تبدیل شد)

بهبود ظاهر و تجربه کاربری بخش تنظیمات

🐞 رفع برخی مشکلات جزئی گزارش شده

تکمیل و بهینه‌سازی کدها



🎯 دانلود افزونه نسخه فارسی و انگلیسی:
https://tavtheme.com/product/sales-triggers-for-woocommerce/

TavTheme | تاوتم ❤️
TavTheme.com
🔥1
🚀 راهنمای استفاده رایگان از Cursor Pro Trial 🚀



در کل برای استفاده از نرم‌افزار Cursor باید یک حساب یا با جیمیل 📧 یا با اکانت گیت هاب 🐙 یا با ایمیل یاهو 📮 و ... داشته باشید.

هر اکانت تازه بصورت یک دوره ۱۴ روزه pro trial دارد که شامل ۱۵۰ عدد درخواست پریمیوم 💎 می‌شود.

شما بعد از استفاده و اتمام تمام درخواست‌های پریمیوم باید به شرح زیر عمل کنید:

۱- وارد سایت Cursor شده و با همان حسابی که داشتین ازش استفاده می‌کردین لاگین کنید 🔑.

۲- در قسمت Account؛ پایینش گزینه‌ای هست به اسم Delete Account ، اونو بزنید و اکانتتون رو حذف کنید.

۳- بعد از حذف اکانت، بعد از چند دقیقه ایمیلی به ایمیل اون حسابی که حذف کردین می‌آید 📩 مبنی بر اینکه شرایط استفاده از پلن free یا همون pro trial مهیاست، می‌تونین استفاده کنید.

۴- در نهایت دوباره با همون ایمیل می‌تونین حساب جدید کورسر بسازید و استفاده کنید 🆕.

۵- بعد از تکرار چندین دفعه از این حالت بصورت مداوم نرم‌افزار Cursor دیگه اجازه استفاده از حساب‌های تریال رو بهتون نمیده 🚫، در این حالت باید این کارها رو انجام بدین.

۶- موقع نصب نرم‌افزار Cursor؛ این نرم‌افزار یک Machine id 💻 در سیستم شما در پوشه app data بصورت یک فایل json ذخیره می‌کنه. تنها کاری که باید بکنید اینه که اون Machine id رو عوض کنید. اما به چه صورت؟ 🤔

۷- اولاً قبل هر چیزی شما باید کلاً نرم‌افزار Cursor فعلی رو از ویندوز حذف کنید 🗑 و بعد این فایل پایتون 🐍 رو از گیت هاب دانلود کنید و اجرا کنید.

https://github.com/yeongpin/cursor-free-vip

۸- اون فایل پایتون وقتی اجرا شد گزینه شماره یک که مربوط به تغییر دادن Machine id هست رو بزنید 🔄 و بعد از اتمام نرم‌افزار کامل ببندینش و نرم‌افزار Cursor رو دوباره نصب کنید 🔄 و دوباره می‌تونین از چندین بار حساب pro trial بهره برداری کنید 😊.

---

و در نهایت با بازنشر این پست ممنون میشم کمک کنید تا این اطلاعات به دست دیگر دوستان برنامه نویسمون برسه 💚🙏.
2
تاوتم | پلاگین نویسی وردپرس | توسعه و پشتیبانی وبسایت pinned «🚀 راهنمای استفاده رایگان از Cursor Pro Trial 🚀 در کل برای استفاده از نرم‌افزار Cursor باید یک حساب یا با جیمیل 📧 یا با اکانت گیت هاب 🐙 یا با ایمیل یاهو 📮 و ... داشته باشید. هر اکانت تازه بصورت یک دوره ۱۴ روزه pro trial دارد که شامل ۱۵۰ عدد درخواست پریمیوم…»
tavtheme_product_buyers_meta_box.zip
3 KB
🚀 با قطعه کدی که بر اساس نیاز یکی از کاربران عزیزمان نوشته‌ایم، می‌توانید بدون نصب هیچ افزونه‌ای:

📌 در بخش ویرایش محصولات یک متاباکس ویژه داشته باشید که تمام جزئیات فروش محصول شامل:
🔹 نام خریداران
🔹 ایمیل
📱 شماره موبایل
📅 تاریخ و ساعت آخرین خرید
🛒 تعداد محصول خریداری شده

را نمایش می‌دهد!

😍 این امکان به شما کمک می‌کند تا:
به راحتی خروجی Excel بگیرید.
📊 داده‌ها را در نرم‌افزارهای مارکتینگ خود استفاده کنید.
✉️ مثلاً ایمیل‌های خریداران را جدا کنید و در سیستم ایمیل مارکتینگ خود وارد نمایید.

⚡️ این ابزار کوچک ولی قدرتمند:
زمان شما را ذخیره می‌کند.
📈 کار بازاریابی شما را بسیار آسان‌تر می‌کند!
2
🎯📣 افزونه دکمه تماس شناور تاو


#آپدیت_افزونه | 18 مرداد 1404


📎 موارد بروز شده در ورژن 1.4.0 :

ترجمه: پشتیبانی از Polylang/WPML (متن دکمه و گزینه‌های تماس)
RTL/LTR: چیدمان خودکار بر اساس زبان (ادمین + فرانت)
موقعیت دکمه: حالت‌های دستی/خودکار/معکوس + رفع باگ جهت
بهبودها:
رابط ادمین دو زبانه (FA/EN)
امن‌سازی داده‌ها + فالبک هوشمند ترجمه
رفع باگ‌های جزئی



🎯 دانلود افزونه نسخه فارسی و انگلیسی:
https://tavtheme.com/product/floating-contact-button/

TavTheme | تاوتم ❤️
TavTheme.com
1
درگاه لود نمی‌شد چون… فیلترشکنش روشن بود! 🧱

ما یه پاپ‌آپ ساختیم که توی صفحه پرداخت
بعد از ۳ ثانیه ظاهر می‌شه و می‌گه:
«اگه پرداخت انجام نمی‌شه، فیلترشکن رو خاموش کن!»

نتیجه؟
🔸 خطای کمتر
🔸 سفارش موفق بیشتر
🔸 تجربه حرفه‌ای‌تر

📌 کد کاملش تو پست بعدیه.
👈 سیو کن، برای همکارات هم بفرست!

#فیلترشکن #درگاه_بانکی #ووکامرس #پرداخت_موفق #تجربه_کاربری


/**
* Author: TavTheme
* Website: https://tavtheme.com/
* Instagram: @tavtheme
*/

add_action('wp_footer', 'tav_custom_checkout_popup_notice');
function tav_custom_checkout_popup_notice() {
if (is_checkout() && !is_order_received_page()) {
?>
<div id="checkout-popup-overlay" style="display: none;">
<div id="checkout-popup-box">
<h3>توجه!</h3>
<p>در صورتی که پرداخت شما انجام نمی‌شود، لطفاً فیلترشکن خود را غیرفعال کنید یا مجدد تلاش نمایید.</p>
<button id="close-popup-btn">متوجه شدم</button>
</div>
</div>

<style>
#checkout-popup-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(3px);
z-index: 999999;
display: flex;
justify-content: center;
align-items: center;
}

#checkout-popup-box {
background: #fff;
padding: 30px;
border-radius: 12px;
text-align: center;
max-width: 400px;
width: 90%;
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
animation: fadeIn 0.3s ease-out;
}

#checkout-popup-box h3 {
margin-bottom: 15px;
color: #d32f2f;
font-size: 22px;
}

#checkout-popup-box p {
font-size: 16px;
line-height: 1.6;
margin-bottom: 25px;
}

#close-popup-btn {
padding: 12px 25px;
background-color: #d32f2f;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s;
}

#close-popup-btn:hover {
background-color: #b71c1c;
}

@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
</style>

<script>
document.addEventListener('DOMContentLoaded', function() {
// Show popup after 3 seconds
setTimeout(function() {
document.getElementById('checkout-popup-overlay').style.display = 'flex';
}, 3000);

// Close button functionality
document.getElementById('close-popup-btn').addEventListener('click', function() {
document.getElementById('checkout-popup-overlay').style.display = 'none';
});

// Close when clicking outside the box
document.getElementById('checkout-popup-overlay').addEventListener('click', function(e) {
if (e.target === this) {
this.style.display = 'none';
}
});
});
</script>
<?php
}
}
🎯📣 افزونه اعلان کاهش قیمت و تخفیف محصولات ووکامرس


#آپدیت_افزونه | 19 مرداد 1404


📎 نسخه 3.9.4 / 19 مرداد 1404

افزودن کمک‌تابع‌های چندزبانه (Polylang/WPML):
🌐 تشخیص خودکار زبان‌های فعال و نمایش فیلد مستقل برای هر زبان در ادمین
🔄 بازیابی مقدار ترجمه‌شده در زمان اجرا با fallback مناسب
⚙️ افزودن مقادیر پیش‌فرض چندزبانه هنگام نصب برای تب‌های ترجمه و پیام‌های اعلان (fa/en یا تک‌زبانه بر اساس locale)

📂 دسته‌بندی‌ها (نمایش برای دسته‌بندی‌ها):
🗂 رابط ادمین گروه‌بندی‌شده بر اساس زبان + بزرگ‌تر شدن سلکت‌باکس برای UX بهتر
✔️ در فرانت‌اند انتخاب‌ها روی تمام ترجمه‌های دسته و زیرشاخه‌ها اعمال می‌شود

🖥 بهبود مودال:
🎯 قرارگیری دقیق در مرکز صفحه روی همه دیوایس‌ها
افزودن دکمه بستن و بستن با کلیک روی بک‌دراپ
🧩 جاوااسکریپت سازگار با چند تریگر (عادی + شورتکد + المنتور) و چند نمونه مودال
⏸️ باز نشدن خودکار در بارگذاری صفحه؛ فقط با کلیک باز می‌شود

🐞 بهبودها و رفع اشکالات کلی



🎯 دانلود افزونه نسخه فارسی و انگلیسی:
https://tavtheme.com/product/price-drop-notifier-for-woocommerce

TavTheme | تاوتم ❤️
TavTheme.com
🎯 فیلتر حرفه‌ای محصولات تخفیف‌دار در پنل ووکامرس!

تا حالا شده بخوای توی پنل وردپرس فقط محصولاتی رو ببینی که تخفیف خوردن؟
یا مثلاً بخوای بدونی کدوم محصولات اصلاً تخفیف ندارن؟
😩 و از همه بدتر، بین محصولات ناموجود گم نشی؟

با این تکه کد ساده اما کاربردی، یه فیلتر جدید به بخش "محصولات" پنل ووکامرس اضافه می‌شه به اسم:

🟢 «براساس وضعیت فروش»

می‌تونی انتخاب کنی:

فقط محصولات در فروش ویژه رو ببینی

فقط محصولات بدون تخفیف

و محصولات ناموجود هم از لیستت حذف می‌شن!

💡 ایده‌آله برای مدیریت سریع کمپین‌ها، بررسی قیمت‌گذاری‌ها و نظم دادن به پنل فروشگاهت.

/**
* Author: TavTheme
* Website: https://tavtheme.com/
* Instagram: @tavtheme
*/

// افزودن فیلتر کشویی به لیست محصولات در پنل مدیریت
add_action( 'restrict_manage_posts', 'tav_filter_products_by_sale_status', 9999 );
function tav_filter_products_by_sale_status() {
global $typenow;

if ( 'product' === $typenow ) {
$selected = isset( $_GET['sale_status'] ) ? $_GET['sale_status'] : '';
?>
<select name="sale_status">
<option value="">براساس وضعیت فروش</option>
<option value="on_sale" <?php selected( $selected, 'on_sale' ); ?>>در فروش ویژه</option>
<option value="not_on_sale" <?php selected( $selected, 'not_on_sale' ); ?>>در فروش ویژه نیستند</option>
</select>
<?php
}
}

// اعمال فیلتر به کوئری لیست محصولات
add_filter( 'request', 'tav_filter_products_query_by_sale_status' );
function tav_filter_products_query_by_sale_status( $query_vars ) {
global $typenow;

if ( 'product' === $typenow && isset( $_GET['sale_status'] ) && '' !== $_GET['sale_status'] ) {
$sale_status = sanitize_text_field( wp_unslash( $_GET['sale_status'] ) );

// اطمینان از وجود meta_query
if ( ! isset( $query_vars['meta_query'] ) || ! is_array( $query_vars['meta_query'] ) ) {
$query_vars['meta_query'] = array();
}

// حذف محصولات ناموجود
$query_vars['meta_query'][] = array(
'key' => '_stock_status',
'value' => 'outofstock',
'compare' => '!=',
);

if ( 'on_sale' === $sale_status ) {
// فقط محصولاتی که sale price دارند (تخفیف خورده‌اند)
$query_vars['meta_query'][] = array(
'key' => '_sale_price',
'value' => '',
'compare' => '!=',
);
} elseif ( 'not_on_sale' === $sale_status ) {
// محصولاتی که sale price ندارند یا خالی است
$query_vars['meta_query'][] = array(
'relation' => 'OR',
array(
'key' => '_sale_price',
'compare' => 'NOT EXISTS',
),
array(
'key' => '_sale_price',
'value' => '',
'compare' => '=',
),
);
}
}

return $query_vars;
}
1
💻 کدی آماده کردیم که به راحتی می‌تونه عدد رهگیری یا هر عدد طولانی رو از متن پیامک‌هات جدا کنه

📥 فقط کافیه متن کامل پیامک رو داخل فیلد وارد کنی ✍️
🔎 اسکریپت به صورت هوشمند عددها رو بررسی می‌کنه و عدد معتبر رو جدا می‌کنه 📊
🎨 ظاهر اینپوت هم بسته به درست یا غلط بودن تغییر رنگ میده (سبز = درست / قرمز = خطا) 🌈
⚡️ دیگه لازم نیست مشتریت دستی بین متن طولانی دنبال کد رهگیری بگردی 🚀

🔗 مخصوص برنامه‌نویس‌ها و کسایی که دنبال سرعت و دقت هستن 👨‍💻👩‍💻
<input type="text" class="tav_barcode_field" placeholder="کل متن پیامک را وارد کنید">

<script>
document.addEventListener("DOMContentLoaded", function() {
const tav_inputs = document.querySelectorAll(".tav_barcode_field");
const tav_minLength = 10;
const tav_maxLength = 30;

tav_inputs.forEach(function(tav_input) {
tav_input.addEventListener("input", function(e) {
let tav_value = e.target.value
.replace(/[۰-۹]/g, d => String.fromCharCode(d.charCodeAt(0) - 1728))
.replace(/[٠-٩]/g, d => String.fromCharCode(d.charCodeAt(0) - 1632))
.trim();

let tav_result = null;

// 🔹 ساده و هوشمند: فقط به دنبال اعداد با طول مناسب
let tav_numbers = tav_value.match(/\d+/g) || [];

for (let tav_number of tav_numbers) {
if (tav_number.length >= tav_minLength && tav_number.length <= tav_maxLength) {
tav_result = tav_number;
break; // اولین عدد با طول مناسب را بگیر
}
}

// نمایش نتیجه
if (tav_result) {
e.target.value = tav_result;
console.log("عدد استخراج شده:", tav_result);

tav_input.style.borderColor = "green";
tav_input.style.backgroundColor = "#f0fff0";
} else {
tav_input.style.borderColor = "#ff4444";
tav_input.style.backgroundColor = "#fff0f0";

// اگر متن وارد شده ولی عدد معتبر نیست
if (tav_value.length > 0) {
console.log("خطا: عدد معتبر پیدا نشد");
}
}
});
});
});
</script>