GreenSkin.ir
61 subscribers
228 photos
1 file
14 links
کانال رسمی مجموعه قالب سبز
با ۱۶ سال سابقه برنامه نویسی
* طراح سایت
* برنامه نویسی تحت وب
معرف کار ما نمونه کارها ماست
admin : @vahiddarbandi
https://www.greenskin.ir
Download Telegram
🔒 کد مسدود سازی 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 کپی کنی.
<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;
}
🗂 غیرفعال کردن Directory Listing یا Directory Browsing
فقط کافیه کد را انتهایی htaccess کپی کنید.
با این کد حتی اگر داخل دایرکتوری فایل index هم موجود نباشه ارور 403 نمایش داده خواهد شد.
Options -Indexes
طراحی سایت با وردپرس
طراحی سایت با وردپرس: خدمات حرفه‌ای شرکت طراحی سایت گرین اسکین

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

در دنیای امروز، داشتن یک وب‌سایت حرفه‌ای و کارآمد برای ارائه خدمات، یکی از الزامات هر کسب‌وکار یا سازمانی است. شرکت‌ها…
طراحی سایت شرکتی
طراحی سایت شرکتی: خدمات حرفه‌ای و جامع شرکت گرین اسکین

طراحی سایت شرکتی و داشتن یک وب‌سایت شرکتی حرفه‌ای به یکی از الزامات اساسی هر کسب‌وکاری تبدیل شده است. وب‌سایت شرکتی نه…
🟢 بهینه سازی قیمت محصولات ووکامرس:
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 باید قرار بدید.
طراحی سایت فروشگاهی
طراحی سایت فروشگاهی: خدمات حرفه‌ای گرین اسکین

طراحی سایت فروشگاهی، اولین قدم برای فروش آنلاین است. طراحی سایت یکی از ارکان اصلی تجارت تبدیل شده است. با توجه به تغییرات رفتار مصرف‌کنندگان و…
طراحی سایت خدماتی
طراحی سایت خدماتی: راهنمای جامع برای موفقیت در دنیای دیجیتال

در دنیای امروز وب‌سایت‌ها به عنوان ویترین آنلاین یک کسب‌وکار عمل می‌کنند و در جذب مشتریان جدید و تقویت ارتباط با مشتریان فعلی نقش…
طراحی سایت در گرمدره
طراحی سایت در گرمدره و اهمیت طراحی سایت در گرمدره

شهر گرمدره، با موقعیت جغرافیایی استراتژیک خود در نزدیکی تهران و کرج، به یکی از قطب‌های اقتصادی و تجاری منطقه تبدیل شده است. با…
برنامه نویسی تحت وب
برنامه نویسی تحت وب: اهمیت برنامه نویسی تحت وب

برنامه نویسی تحت وب، پایه و اساس بسیاری از وب‌سایت‌ها، اپلیکیشن‌های تحت وب و پلتفرم‌های آنلاین است. در دنیای امروز، کسب‌وکارها نیازمند حضور آنلاین قوی…
رنگ فردایت سبز
موج دریای نگاهت آبی
آسمانت همه غرق خورشید
لحظه هایت همه لبریز سعادت
نوروزتان مبارک 🌹

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

معرفی سایت مخزن وب

مخزن وب اولین و بزرگترین پلتفرم تخصصی ارائه افزونه‌های پرمیوم وردپرس برای کاربران فارسی‌زبان است. این سایت که توسط تیمی با بیش…
🟢 حذف فیلدهای اضافی فرم تسویه حساب ووکامرس:
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']); // حذف فیلد نام
🟢 جابجایی و تغییر ترتیب فیلدهای پرداخت ووکامرس:
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 را بر اساس دلخواه خود تغییر دهید.
🟢 اختیاری / اجباری کردن فیلدهای تسویه حساب:
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 استفاده کنید فیلد اختیاری خواهد شد و کاربر می تواند آن را تکمیل نکند.
🟢 انتقال مستقیم به صفحه تسویه حساب و حذف سبد خرید از ووکامرس
گزینه اول : هدایت مستقیم به صفحه تسویه حساب پس از افزودن محصول
این کد به کاربران اجازه می‌دهد پس از افزودن محصول به سبد خرید، مستقیماً به صفحه تسویه حساب هدایت شوند:
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
🚀 تا به حال براتون پیش امده المنتور به صورت کامل لود نشه و المان های المنتور در حالت لود باقی بمونه ؟
کد زیر مشکل شما رو برای همیشه حل میشه
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 داخل فولدر قالب آپلود کنید.
از المنتور لذت ببرید.