چطور product-category را در ووکامرس پاک کنم؟
چطور در آدرس URL (پیوند یکتا) محصولات ووکامرس، قسمت product-category و /product/ را پاک کنم؟
یعنی آدرس
www.test.com/product-category/fashion/t-shirt
به
www.test.com/fashion/t-shirt
تغییر کنه.
و
آدرس
www.test.com/product/fashion/t-shirt/61
به
www.test.com/fashion/t-shirt/61
تغییر کنه.
سلام. اینا مربوط میشن به category Base یا همون پایه دسته بندی ها. به صورت پیش فرض توی وردپرس هستند و باید هم باشند تا تو یه سری جاها به مشکل بر نخورید. حذف این ها با کد میتونه باعث خطا های 404 یا تداخل هایی با سایر افزونه ها بشه. پس بهتره این ها رو حذف نکنید. برای تغییرش میتونید از پیشخوان وردپرس و تنظیمات پیوند یکتا > مبنای دسته و برچسب ها رو تغییر بدید که این کار ایرادی نداره.
در صورتی طبق نیازتون که میخواید کاملا حذف بشه میتونید از افزونه های مختلفی استفاده کنید. یکی از این افزونه ها میتونه رنک مث باشه که این تنظیم رو داره.
برای حذف قسمت “product-category” و “/product/” از آدرس URL محصولات ووکامرس در وردپرس، میتوانید از افزونهها یا کدنویسی دستی استفاده کنید. یک روش دستی این است که از تابع `add_rewrite_rule` در فایل functions.php تمتم پوستهی فعلی خود استفاده کنید:
“`php
function custom_rewrite_rule() {
add_rewrite_rule(‘^fashion/([^/]+)/?$’,’index.php?product-category=$matches[1]’,’top’);
add_rewrite_rule(‘^fashion/([^/]+)/([0-9]+)/?$’,’index.php?product=$matches[2]’,’top’);
}
add_action(‘init’, ‘custom_rewrite_rule’, 10, 0);
“`
سپس باید بروید به مسیر `Settings` > `Permalinks` در پیشخوان وردپرس و بدون نگرانی دوباره آدرسها بهروز رسانی کنید.
برای انجام این کار، شما باید از قدرت تنظیمات و قوانین نوشتن (Rewrite Rules) در وبسرور خود استفاده کنید. در اینجا دو مثال از چگونگی انجام این کار برای وبسرور Apache و Nginx آورده شده است.
### برای وبسرور Apache:
در فایل `.htaccess` در ریشه وبسایتتان، کدهای زیر را اضافه کنید:
“`apache
RewriteEngine On
RewriteRule ^product-category/(.*)$ /$1 [R=301,NC,L]
RewriteRule ^product/(.*)$ /$1 [R=301,NC,L]
“`
این کدها باعث میشوند که هر آدرسی که با `product-category/` یا `product/` شروع میشود، این قسمتها از آدرس حذف شده و کاربر به آدرس جدید منتقل میشود.
### برای وبسرور Nginx:
در تنظیمات Nginx خود، بخش server را با کدهای زیر تغییر دهید:
“`nginx
server {
# … تنظیمات دیگر
location ~* ^/product-category/(.*)$ {
rewrite ^/product-category/(.*)$ /$1 permanent;
}
location ~* ^/product/(.*)$ {
rewrite ^/product/(.*)$ /$1 permanent;
}
# … تنظیمات دیگر
}
“`
بعد از اعمال تغییرات، مطمئن شوید که وبسرورتان را راهاندازی مجدد کردهاید تا تغییرات اعمال شود.
توجه داشته باشید که استفاده از قوانین نوشتن ممکن است تاثیرات جانبی داشته باشد، بنابراین پیشنهاد میشود قبل از اعمال تغییرات، نسخه پشتیبان از تنظیمات وبسرورتان را ایجاد کنید تا در صورت لزوم بتوانید به حالت قبلی بازگردید. همچنین تغییرات اعمال شده را در محیط تستی بررسی کنید تا مطمئن شوید که به درستی کار میکنند.