🔒 کد مسدود سازی rest api سایت وردپرس.
فقط کافیه کد را داخل فانکشن قالب کپی کنید.
فقط کافیه کد را داخل فانکشن قالب کپی کنید.
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
add_filter( 'rest_authentication_errors', 'wp_snippet_disable_rest_api' );
function wp_snippet_disable_rest_api( $access ) {
return new WP_Error( 'rest_disabled', __('The WordPress REST API has been disabled.'), array( 'status' => rest_authorization_required_code()));
}🔒 به تازگی کلیپ هایی در اینستاگرام دیده شده که خبر از هک شدن سایت وردپرسی توسط فایل : wp-config-sample.php,readme.html,license.txt میدن.
حال این فایل ها چیست ؟
فایل readme.html : توضیحاتی شامل طریقه نصب، حداقل منابع و ورژن پی اچ پی
فایل license.txt: توضیحاتی راجب تاریخچه وردپرس میده
فایل wp-config-sample.php : نسخه پشتیبان کانفیگ وردپرس هست اگر خدایی نکرده فایل اصلی مشکل خورد محتویات داخل این فایل رو کپی کنید داخل wp-config.php و یوزر ، پسورد دیتابیس رو ست کنید.
سوال این است آیا فایل های یاد شده امنیت رو تهدید میکنه ؟! 🔴 خیر (سایت و سرور که بخواد از طریق این فایل ها هک بشه همون بهتر که نابود بشه)
آیا با حذف این فایل ها بازم امکان بازگشت هست ؟ 🟢 بله وقتی هسته وردپرس رو آپدیت کنید بازهم آپلود میشن
حالا اگر خیلی حساس هستی نمیخوای این فایل ها روی سایت شما اجرا بشه فقط کافیه کد زیر رو خط آخر فایل htaccess کپی کنی.
سخن پایانی : هر کلیپی رو باور نکنید. هر بچه ای یه میکروفن گذاشت جلوش، کلیپ قشنگ با موزیک جذاب ساخت حرفه ای نیست.
حال این فایل ها چیست ؟
فایل readme.html : توضیحاتی شامل طریقه نصب، حداقل منابع و ورژن پی اچ پی
فایل license.txt: توضیحاتی راجب تاریخچه وردپرس میده
فایل wp-config-sample.php : نسخه پشتیبان کانفیگ وردپرس هست اگر خدایی نکرده فایل اصلی مشکل خورد محتویات داخل این فایل رو کپی کنید داخل wp-config.php و یوزر ، پسورد دیتابیس رو ست کنید.
سوال این است آیا فایل های یاد شده امنیت رو تهدید میکنه ؟! 🔴 خیر (سایت و سرور که بخواد از طریق این فایل ها هک بشه همون بهتر که نابود بشه)
آیا با حذف این فایل ها بازم امکان بازگشت هست ؟ 🟢 بله وقتی هسته وردپرس رو آپدیت کنید بازهم آپلود میشن
حالا اگر خیلی حساس هستی نمیخوای این فایل ها روی سایت شما اجرا بشه فقط کافیه کد زیر رو خط آخر فایل htaccess کپی کنی.
<files readme.html>
order allow,deny
deny from all
</files>
<files license.txt>
order allow,deny
deny from all
</files>
<files wp-config-sample.php>
order allow,deny
deny from all
</files>
<files install.php>
Order allow,deny
Deny from all
</files>
<files .htaccess>
Order allow,deny
Deny from all
</files>
سخن پایانی : هر کلیپی رو باور نکنید. هر بچه ای یه میکروفن گذاشت جلوش، کلیپ قشنگ با موزیک جذاب ساخت حرفه ای نیست.
📤 رفع مشکل محدویت آپلود فونت در وردپرس (woff,woff2,oft,ttf,svg,eot).
فقط کافیه کد را داخل فانکشن قالب کپی کنید.
فقط کافیه کد را داخل فانکشن قالب کپی کنید.
add_filter('upload_mimes', 'add_custom_upload_mimes');
function add_custom_upload_mimes($existing_mimes) {
$existing_mimes['otf'] = 'application/x-font-otf';
$existing_mimes['woff'] = 'application/x-font-woff';
$existing_mimes['woff2'] = 'application/x-font-woff2';
$existing_mimes['ttf'] = 'application/x-font-ttf';
$existing_mimes['svg'] = 'image/svg+xml';
$existing_mimes['eot'] = 'application/vnd.ms-fontobject';
return $existing_mimes;
}🟢 بهینه سازی قیمت محصولات ووکامرس:
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید.
این کد میاد ساختار کدهای قیمت محصولات توی ووکامرس رو بهینه میکنه که میتونه توی dom size تاثیر بزاره و مقدار الماناش رو کمتر کنه
یعنی اگه مثلا شما 20 تا کارت محصول توی صفحه تون داشته باشید، کدهای تو در تو و اضافی حذف میشه از این قسمت و چیزی حدود 100 تا 200 المان از dom size کم میشه
اولین خطایی که google pagespeed از دام سایت های ووکامرسی میگیره، مربوط به همین بخش قیمت محصولات هست
این کد رو داخل فایل functions.php باید قرار بدید.
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;
}🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید.
این کد میاد ساختار کدهای قیمت محصولات توی ووکامرس رو بهینه میکنه که میتونه توی dom size تاثیر بزاره و مقدار الماناش رو کمتر کنه
یعنی اگه مثلا شما 20 تا کارت محصول توی صفحه تون داشته باشید، کدهای تو در تو و اضافی حذف میشه از این قسمت و چیزی حدود 100 تا 200 المان از dom size کم میشه
اولین خطایی که google pagespeed از دام سایت های ووکامرسی میگیره، مربوط به همین بخش قیمت محصولات هست
این کد رو داخل فایل functions.php باید قرار بدید.
طراحی سایت فروشگاهی
طراحی سایت فروشگاهی: خدمات حرفهای گرین اسکین
طراحی سایت فروشگاهی، اولین قدم برای فروش آنلاین است. طراحی سایت یکی از ارکان اصلی تجارت تبدیل شده است. با توجه به تغییرات رفتار مصرفکنندگان و…
طراحی سایت فروشگاهی: خدمات حرفهای گرین اسکین
طراحی سایت فروشگاهی، اولین قدم برای فروش آنلاین است. طراحی سایت یکی از ارکان اصلی تجارت تبدیل شده است. با توجه به تغییرات رفتار مصرفکنندگان و…
مخزن وب تحولی در مدیریت افزونههای وردپرس
مخزن وب: مرجع تخصصی افزونههای وردپرس فارسی
معرفی سایت مخزن وب
مخزن وب اولین و بزرگترین پلتفرم تخصصی ارائه افزونههای پرمیوم وردپرس برای کاربران فارسیزبان است. این سایت که توسط تیمی با بیش…
مخزن وب: مرجع تخصصی افزونههای وردپرس فارسی
معرفی سایت مخزن وب
مخزن وب اولین و بزرگترین پلتفرم تخصصی ارائه افزونههای پرمیوم وردپرس برای کاربران فارسیزبان است. این سایت که توسط تیمی با بیش…
🟢 حذف فیلدهای اضافی فرم تسویه حساب ووکامرس:
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
این کد برای حذف فیلدهای اضافی ووکامرس هست توضیحات فارسی جلوی هر خط دادم. هر کدام را که خواستین نگه دارید خطش رو حذف کنید.
مثال من میخوام فیلد نام رو نگه دارم خط زیر رو از کد بالا حذف میکنم:
unset($fields['billing']['billing_first_name']); // حذف فیلد نام
add_filter( 'woocommerce_checkout_fields' , 'gs_custom_checkout_fields' );
function gs_custom_checkout_fields( $fields ) {
unset($fields['billing']['billing_first_name']); // حذف فیلد نام
unset($fields['billing']['billing_last_name']); // حذف فیلد نام خانوادگی
unset($fields['billing']['billing_company']); // حذف فیلد نام شرکت
unset($fields['billing']['billing_address_1']); // حذف فیلد اول آدرس
unset($fields['billing']['billing_address_2']); // حذف فیلد دوم آدرس
unset($fields['billing']['billing_city']); // حذف فیلد شهر
unset($fields['billing']['billing_postcode']); // حذف فیلد کد پستی
unset($fields['billing']['billing_country']); // حذف فیلد کشور
unset($fields['billing']['billing_state']); // حذف فیلد استان یا ایالت
unset($fields['billing']['billing_phone']); // حذف فیلد شماره تماس
unset($fields['order']['order_comments']); // حذف فیلد یادداشت سفارش
unset($fields['billing']['billing_email']); // حذف فیلد ایمیل
return $fields;
}
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
این کد برای حذف فیلدهای اضافی ووکامرس هست توضیحات فارسی جلوی هر خط دادم. هر کدام را که خواستین نگه دارید خطش رو حذف کنید.
مثال من میخوام فیلد نام رو نگه دارم خط زیر رو از کد بالا حذف میکنم:
unset($fields['billing']['billing_first_name']); // حذف فیلد نام
🟢 جابجایی و تغییر ترتیب فیلدهای پرداخت ووکامرس:
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
اگر قصد تغییر ترتیب فیلدهای فرم تسویه حساب ووکامرس را دارید می توانید این کار را بدون کمک افزونه و با استفاده از کدهای فانکشن انجام دهید. کافیست کد زیر را به فایل فانکشن خود اضافه کنید و مقدار priority را بر اساس دلخواه خود تغییر دهید.
add_filter("woocommerce_checkout_fields", "gs_custom_priority_checkout_fields", 1);
function gs_custom_priority_checkout_fields($fields) {
$fields['billing']['billing_first_name']['priority'] = 1; // نام
$fields['billing']['billing_last_name']['priority'] = 2; // نام خانوادگی
$fields['billing']['billing_company']['priority'] = 3; // شرکت
$fields['billing']['billing_country']['priority'] = 4; // کشور
$fields['billing']['billing_state']['priority'] = 5; // استان یا ایالت
$fields['billing']['billing_address_1']['priority'] = 6; // آدرس یک
$fields['billing']['billing_address_2']['priority'] = 7; // آدرس دو
$fields['billing']['billing_city']['priority'] = 8; // شهر
$fields['billing']['billing_postcode']['priority'] = 9; // کدپستی
$fields['billing']['billing_email']['priority'] = 10; // ایمیل
$fields['billing']['billing_phone']['priority'] = 11; // تلفن
return $fields;
}
add_filter( 'woocommerce_default_address_fields', 'custom_override_default_locale_fields' );
function custom_override_default_locale_fields( $fields ) {
$fields['state']['priority'] = 5; // استان یا ایالت
$fields['address_1']['priority'] = 6; // آدرس یک
$fields['address_2']['priority'] = 7; // آدرس دو
return $fields;
}🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
اگر قصد تغییر ترتیب فیلدهای فرم تسویه حساب ووکامرس را دارید می توانید این کار را بدون کمک افزونه و با استفاده از کدهای فانکشن انجام دهید. کافیست کد زیر را به فایل فانکشن خود اضافه کنید و مقدار priority را بر اساس دلخواه خود تغییر دهید.
🟢 اختیاری / اجباری کردن فیلدهای تسویه حساب:
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
گاهی نیاز است بر اساس موضوع فروشگاه و کسب و کار، برخی فیلدهای فرم تسویه حساب را اجباری یا اختیاری کنید. به عنوان مثال اگر بیشتر کاربران شما پست الکترونیکی ندارند می توانید فیلد ایمیل را اختیاری کنید.
برای تغییر اجباری یا اختیاری بودن فیلدهای فرم تسویه حساب ووکامرس می توانید کد را در فایل فانکشن قالب خود قرار دهید.
فیلدهای که انتهای آن true درج شده است اجباری هستند و کاربر می بایست آنها را حتما تکمیل کند. در صورتی که از false استفاده کنید فیلد اختیاری خواهد شد و کاربر می تواند آن را تکمیل نکند.
add_filter( 'woocommerce_default_address_fields', 'customising_checkout_fields', 1000, 1 );
function customising_checkout_fields( $address_fields ) {
$address_fields['first_name']['required'] = true; // نام
$address_fields['last_name']['required'] = true; // نام خانوادگی
$address_fields['company']['required'] = false; // شرکت
$address_fields['country']['required'] = true; // کشور
$address_fields['city']['required'] = true; // شهر
$address_fields['state']['required'] = true; // استان
$address_fields['postcode']['required'] = false; // کدپستی
return $address_fields;
}
add_filter('woocommerce_billing_fields', 'custom_billing_fields', 1000, 1);
function custom_billing_fields( $fields ) {
$fields['billing_email']['required'] = true; // ایمیل
$fields['billing_phone']['required'] = true; // تلفن
return $fields;
}
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
گاهی نیاز است بر اساس موضوع فروشگاه و کسب و کار، برخی فیلدهای فرم تسویه حساب را اجباری یا اختیاری کنید. به عنوان مثال اگر بیشتر کاربران شما پست الکترونیکی ندارند می توانید فیلد ایمیل را اختیاری کنید.
برای تغییر اجباری یا اختیاری بودن فیلدهای فرم تسویه حساب ووکامرس می توانید کد را در فایل فانکشن قالب خود قرار دهید.
فیلدهای که انتهای آن true درج شده است اجباری هستند و کاربر می بایست آنها را حتما تکمیل کند. در صورتی که از false استفاده کنید فیلد اختیاری خواهد شد و کاربر می تواند آن را تکمیل نکند.
🟢 انتقال مستقیم به صفحه تسویه حساب و حذف سبد خرید از ووکامرس
گزینه اول : هدایت مستقیم به صفحه تسویه حساب پس از افزودن محصول
این کد به کاربران اجازه میدهد پس از افزودن محصول به سبد خرید، مستقیماً به صفحه تسویه حساب هدایت شوند:
گزینه دوم: حذف صفحه سبد خرید از مراحل تسویه حساب
هدایت مستقیم به صفحه تسویه حساب پس از افزودن محصول
این کد به کاربران اجازه میدهد پس از افزودن محصول به سبد خرید، مستقیماً به صفحه تسویه حساب هدایت شوند:
🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
نکات مهم:
•این تغییرات بر روی تجربه کاربری و فرآیند خرید تاثیر میگذارد، بنابراین باید با دقت و با توجه به نیازهای خاص سایت شما انجام شود.
•بهتر است قبل از اعمال تغییرات، از سایت خود نسخه پشتیبان تهیه کنید.
این کدها به شما کمک میکنند تا تجربه خرید در ووکامرس را مطابق نیازهای خود سفارشی کنید.
برای تغییر اجباری یا اختیاری بودن فیلدهای فرم تسویه حساب ووکامرس می توانید کد را در فایل فانکشن قالب خود قرار دهید.
فیلدهای که انتهای آن true درج شده است اجباری هستند و کاربر می بایست آنها را حتما تکمیل کند. در صورتی که از false استفاده کنید فیلد اختیاری خواهد شد و کاربر می تواند آن را تکمیل نکند.
گزینه اول : هدایت مستقیم به صفحه تسویه حساب پس از افزودن محصول
این کد به کاربران اجازه میدهد پس از افزودن محصول به سبد خرید، مستقیماً به صفحه تسویه حساب هدایت شوند:
add_filter('woocommerce_add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout($url) {
$url = wc_get_checkout_url();
return $url;
}گزینه دوم: حذف صفحه سبد خرید از مراحل تسویه حساب
هدایت مستقیم به صفحه تسویه حساب پس از افزودن محصول
این کد به کاربران اجازه میدهد پس از افزودن محصول به سبد خرید، مستقیماً به صفحه تسویه حساب هدایت شوند:
add_filter('woocommerce_add_to_cart_redirect', 'skip_cart_redirect_checkout');
function skip_cart_redirect_checkout($url) {
return wc_get_checkout_url();
}
add_filter('woocommerce_cart_needs_payment', '__return_false');
add_filter('woocommerce_cart_needs_shipping', '__return_false');🔴 توضیحات در مورد کد بالا :
اولین نکته اینکه فقط اگر سایتتون ووکامرسی هست از این کد استفاده کنید و حتما داخل فایل functions.php قالب قرار بدید.
نکات مهم:
•این تغییرات بر روی تجربه کاربری و فرآیند خرید تاثیر میگذارد، بنابراین باید با دقت و با توجه به نیازهای خاص سایت شما انجام شود.
•بهتر است قبل از اعمال تغییرات، از سایت خود نسخه پشتیبان تهیه کنید.
این کدها به شما کمک میکنند تا تجربه خرید در ووکامرس را مطابق نیازهای خود سفارشی کنید.
برای تغییر اجباری یا اختیاری بودن فیلدهای فرم تسویه حساب ووکامرس می توانید کد را در فایل فانکشن قالب خود قرار دهید.
فیلدهای که انتهای آن true درج شده است اجباری هستند و کاربر می بایست آنها را حتما تکمیل کند. در صورتی که از false استفاده کنید فیلد اختیاری خواهد شد و کاربر می تواند آن را تکمیل نکند.
hide-elementor-loading-panel.css
126 B
🚀 تا به حال براتون پیش امده المنتور به صورت کامل لود نشه و المان های المنتور در حالت لود باقی بمونه ؟
کد زیر مشکل شما رو برای همیشه حل میشه
🔴 توضیحات در مورد کد بالا :
اولین نکته : کد فوق را داخل فایل functions.php قالب قرار بدید.
دومین نکته : فایل hide-elementor-loading-panel.css داخل فولدر قالب آپلود کنید.
از المنتور لذت ببرید.
کد زیر مشکل شما رو برای همیشه حل میشه
function gs_enqueue_elementor_script()
{
if (defined('ELEMENTOR_VERSION') && \Elementor\Plugin::$instance->editor->is_edit_mode()) {
wp_register_style('hide-elementor-loading-panel', get_stylesheet_directory_uri().'/hide-elementor-loading-panel.css');
wp_enqueue_style('hide-elementor-loading-panel');
}
}
add_action('elementor/editor/after_enqueue_scripts', 'gs_enqueue_elementor_script');
🔴 توضیحات در مورد کد بالا :
اولین نکته : کد فوق را داخل فایل functions.php قالب قرار بدید.
دومین نکته : فایل hide-elementor-loading-panel.css داخل فولدر قالب آپلود کنید.
از المنتور لذت ببرید.