Mehdiam.Dev – Telegram
Mehdiam.Dev
4.31K subscribers
25 photos
2 videos
7 files
17 links
آموزش برنامه نویسی و طراحی سایت

سایت:
https://taktheme.com

پشتیبانی دوره و محصولات سایت:
@taktheme_support
Download Telegram
add_filter('woocommerce_get_price_html', 'taktheme_dom_price_html', 10, 2);
function taktheme_dom_price_html($price, $product) {
if (is_admin()) {
return $price;
}
$currency_symbol = get_woocommerce_currency_symbol();
$price = str_replace(['<bdi>', '</bdi>'], '', $price);
$price = preg_replace('/<span class="woocommerce-Price-currencySymbol">.*?<\/span>/', $currency_symbol, $price);
$price = preg_replace('/<span class="screen-reader-text">.*?<\/span>/', '', $price);
return $price;
}
35👍1
Mehdiam.Dev
add_filter('woocommerce_get_price_html', 'taktheme_dom_price_html', 10, 2); function taktheme_dom_price_html($price, $product) { if (is_admin()) { return $price; } $currency_symbol = get_woocommerce_currency_symbol(); $price = str_…
⚠️ توضیحات در مورد کد بالا :
——-اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید ——-

این کد میاد ساختار کدهای قیمت محصولات توی ووکامرس رو بهینه میکنه که میتونه توی dom size تاثیر بزاره و مقدار الماناش رو کمتر کنه
یعنی اگه مثلا شما 20 تا کارت محصول توی صفحه تون داشته باشید، کدهای تو در تو و اضافی حذف میشه از این قسمت و چیزی حدود 100 تا 200 المان از dom size کم میشه

اولین خطایی که google pagespeed از دام سایت های ووکامرسی میگیره، مربوط به همین بخش قیمت محصولات هست

این کد رو داخل فایل functions.php باید قرار بدید
37👍11👏4🔥3
یعنی به این شکل کدهای بخش قیمت محصولات بهینه میشه و کدای اضافی حذف میشه
34👍6🔥4🙏1
 (function() {
const numberOfSnowflakes = 300;

const createSnowflake = () => {
const snowflake = document.createElement('div');
snowflake.style.position = 'absolute';
snowflake.style.width = `${Math.random() * 1.5 + 1}px`;
snowflake.style.height = snowflake.style.width;
snowflake.style.backgroundColor = 'white';
snowflake.style.borderRadius = '50%';
snowflake.style.zIndex = '9999';
snowflake.style.pointerEvents = 'none';
snowflake.style.opacity = Math.random() * 0.5 + 0.3;

snowflake.style.boxShadow = `
0 0 ${Math.random() * 2 + 1}px ${Math.random() * 2 + 1}px white,
0 0 ${Math.random() * 2 + 1}px ${Math.random() * 2 + 1}px white
`;

snowflake.style.animation = `fall ${Math.random() * 5 + 5}s linear infinite`;

document.body.appendChild(snowflake);

const startPositionX = Math.random() * window.innerWidth;
const startPositionY = -Math.random() * window.innerHeight;
const endPositionX = Math.random() * window.innerWidth;

snowflake.style.left = `${startPositionX}px`;
snowflake.style.top = `${startPositionY}px`;

const driftAnimation = document.createElement('style');
driftAnimation.innerHTML = `
@keyframes drift {
0% { left: ${startPositionX}px; }
50% { left: ${startPositionX + (Math.random() * 60 - 30)}px; }
100% { left: ${endPositionX}px; }
}
@keyframes fall {
0% { top: ${startPositionY}px; }
100% { top: ${window.innerHeight + 10}px; }
}
`;
document.head.appendChild(driftAnimation);

snowflake.addEventListener('animationiteration', () => {
const newPositionY = -Math.random() * window.innerHeight;
const newPositionX = Math.random() * window.innerWidth;
snowflake.style.top = `${newPositionY}px`;
snowflake.style.left = `${newPositionX}px`;
});
};

for (let i = 0; i < numberOfSnowflakes; i++) {
createSnowflake();
}
})();
20
 function taktheme_contactform_assets() {
if ( is_singular(['post', 'page']) ) {
global $post;
if ( has_shortcode( get_post_field('post_content', $post->ID), 'contact-form-7' ) ) {
return;
}
}
wp_dequeue_noscript('contact-form-7');
wp_dequeue_style('contact-form-7');
}
add_action('wp_enqueue_noscripts', 'taktheme_contactform_assets', 100);
18👍6🤨3
Mehdiam.Dev
function taktheme_contactform_assets() { if ( is_singular(['post', 'page']) ) { global $post; if ( has_shortcode( get_post_field('post_content', $post->ID), 'contact-form-7' ) ) { return; } } wp_dequeue_noscript('contact…
کد بهینه سازی فایل های افزونه Contact Form 7 ، این کد فایل های افزونه رو فقط زمانی لود میکند که در آن صفحه استفاده شده باشد
22👍8👏1
توضیحات در مورد باگ امنیتی افزونه SureTriggers که نیاز به آپدیت فوری دارد :

در افزونه SureTriggers یک آسیب‌پذیری بحرانی کشف شده که در صورت عدم تنظیم کلید امنیتی (secret key)، به مهاجم امکان می‌دهد بدون احراز هویت و تنها با ارسال یک درخواست به API افزونه، حساب کاربری با دسترسی مدیر (Administrator) ایجاد کند.
این مشکل از آنجا ناشی می‌شود که در صورت نبود کلید، سیستم اعتبارسنجی به‌اشتباه درخواست را معتبر در نظر می‌گیرد.

مثال ساده:
فرض کنید در یک ساختمان فقط افرادی اجازه ورود دارند که کارت عبور خاصی داشته باشند. اما اگر هیچ کارتی تعریف نشده باشد، نگهبان به اشتباه فرض می‌کند که همه مجاز به ورود هستند. در این حالت، هر کسی می‌تواند وارد ساختمان شود بدون اینکه واقعاً اجازه داشته باشد. در این افزونه هم دقیقاً چنین اشتباهی رخ داده است
7👍4😍1
Mehdiam.Dev pinned Deleted message
آسیب‌پذیری بحرانی در افزونه
TI WooCommerce Wishlist

کد آسیب‌پذیری: CVE-2025-47577

شدت: ۱۰ از ۱۰ (خیلی بحرانی)

توضیح: این افزونه که بیش از ۱۰۰,۰۰۰ نصب فعال داره، به مهاجمان اجازه می‌ده بدون احراز هویت، فایل‌های مخرب روی سرور آپلود کنن. این مشکل از نسخه ۲.۹.۲ و پایین‌تر وجود داره و هنوز وصله‌ای برای اون منتشر نشده
2
🚨احتمال حمله به زیرساخت های اینترنت و حذف اطلاعات وجود داره، حتما از سایت هاتون بکاپ بگیرید و روی سیستمون ذخیره کنید، مخصوصا از دیتابیس، در ادامه چند ویدیو آموزشی مربوط به بکاپ گیری میزارم اگر بلد نیستید انجام بدید (این ویدیوها بخش هایی از دوره هست که کات کردم)
👏7
ویدیو ها از آپارات هست، با توجه به سرعت اینترنت، بدون vpn روش کلیک کنید و مشاهده کنید
Mehdiam.Dev
https://www.aparat.com/v/ymgefy3
اگر حجم فایل های سایت زیاد هست از این روش استفاده کنید
دیتابیس رو هم حتما از بخش phpmyadmin بگیرین
🙏74
Mehdiam.Dev pinned Deleted message
اقدامات لازم و فوری برای نگهداری سایت و مشتریان در زمان بحران یا قطعی اینترنت:
1- انتقال سریع سایت به سرورهای ایران (جهت بالا نگه داشتن سایت در زمان قطع اینترنت بین المللی)
2- تهیه بکاپ از سایت و ذخیره فایل بکاپ روی سیستم
3- گرفتن خروجی از شماره مشتریان سایت و ارسال پیامک به آنها (ارسال پیامک های تخفیف با ذکر آدرس سایت)
4- غیرفعال کردن ابزارهای خارجی جهت کند نشدن سایت (مثل کلریتی و ...)
5- پشتیبانی از مشتریان در ابزارهای داخلی مثل "بله" یا استفاده از سیستم تیکت داخل سایت
6- قطع کردن اتصالات افزونه ها به سایت های خارجی با کد زیر در فایل functions.php قالب :
add_filter( 'pre_http_request', '__return_true', 100 );
این مورد با احتیاط انجام‌شود و در صورت بهم ریختن سایت کد برداشته شود
7- غیرفعال کردن CDNهای خارجی (مثل کلودفلر)
8- بالا نگه داشتن سرعت سایت برای کاربران و استفاده از افزونه هایی مثل راکت تا نسخه استاتیک سایت با سرعت بیشتری به کاربران نمایش داده شود
9- غیر فعال کردن فونت های گوگل

پیشنهاد میکنم گرفتن بکاپ و خروجی گرفتن از شماره کاربران رو از قبل انجام بدین
👍1914
external-blocker.zip
1.5 KB
یه افزونه برای غیر فعال کردن اتصالات خارجی وردپرس و افزونه هاش براتون نوشتم ، هنگام محدود شدن اینترنت و کند شدن پنل وردپرستون میتونید ازش استفاده کنید
🔥29👍108🙏4
🚨آسیب پذیری امنیتی در قالب وودمارت
حتما به نسخه جدید آپدیت کنید
👍143
🔔 آپدیت جدید و بزرگ افزونه ورودک با امکانات جدید منتشر شد
- نسخه 3.0.0
- از پنل کاربری خود در سایت تک تم میتوانید نسخه جدید را دریافت کنید
10👍2
برخی از امکانات آپدیت جدید که شمارو از نصب افزونه های دیگر بی نیاز میکند :

- ارسال پیامک در وضعیت های مختلف سفارشات ووکامرس
- ارسال پیامک در حالت های ورود و ثبت نام کاربران (خوش آمدگویی و تشکر)
- ارسال پیامک هنگام ثبت دیدگاه و پاسخ های مدیر
- اضافه شدن سامانه های پیامکی صبانوین، پیام رسان، رایگان اس ام اس
- قابلیت مسدود سازی برخی کاربران خاص
- هماهنگی با کاربران قدیمی تمامی افزونه ها (هر افزونه پیامکی که از قبل استفاده میکردید)
- ایجاد بخش لاگ خطاها و توسعه افزونه (هوک های جدید و مناسب افزونه های باشگاه مشتریان)
- حل مشکل AutoFill
- حل مشکل Enter فرم ها
- بهبود تجربه کاربری پنل مدیریتی افزونه پیامکی ورودک
- بهینه سازی کدهای پلاگین
- قابلیت ذخیره شماره موبایل در فیلد جدا و سفارشی شما
31🔥2👍1