فرض کنید یک فروشگاه آنلاین با ووکامرس دارید و میخواهید متنی مانند «افزودن به سبد خرید» را به «خرید کن» تغییر دهید یا عبارتی را در زبان دیگری اصلاح کنید تا بهتر با مخاطبانتان هماهنگ باشد. اما ترجیح میدهید کل افزونه ووکامرس را ترجمه نکنید یا از افزونههای سنگین و پیچیده استفاده نکنید.
این راهنما با ارائه یک روش ساده و کاربردی، به شما نحوه تغییر متن های پیشفرض ووکامرس با استفاده از یک کد PHP را نشان می دهد. این آموزش برای صاحبان فروشگاههای آنلاین، توسعهدهندگان و افرادی که به دنبال شخصیسازی متن ووکامرس هستند، بسیار مناسب است و به بهبود تجربه کاربری و سئو کمک میکند.
چرا باید متنهای ووکامرس را تغییر دهیم یا ترجمه کنیم؟
تغییر یا ترجمه متنها در ووکامرس میتواند تأثیر زیادی روی موفقیت فروشگاه شما داشته باشد. دلایل اصلی برای تغییر نام متن در ووکامرس یا ترجمه عبارتها عبارتند از:
- هماهنگی با برند: استفاده از عباراتی که با هویت برند شما همخوانی دارند.
- بهبود تجربه کاربری: انتخاب کلماتی که برای مشتریان شما سادهتر و جذابتر باشند.
- بهینهسازی سئو: کمک به موتورهای جستجو و کاربران برای درک بهتر محتوای فروشگاه.
- انعطافپذیری در چندزبانه بودن: اصلاح ترجمههای پیشفرض بدون نیاز به ابزارهای پیچیده.
با این روش، میتوانید ترجمه ووکامرس بدون افزونه را انجام دهید و از نصب افزونههای سنگین مثل Loco Translate یا WPML بینیاز شوید.

نحوه تغییر متن های پیشفرض ووکامرس (بدون افزونه)
برای تغییر متن های پیشفرض ووکامرس یا ترجمه یک متن خاص، میتوانید از یک کد PHP برای ترجمه ووکامرس استفاده کنید. این کد بهسادگی در فایل functions.php قالب فرزند یا افزونه های مانند WPCode Pro قرار میگیرد و مستقیماً متن موردنظر شما را هدف قرار میدهد.
کد PHP برای تغییر یا ترجمه متنها
در ادامه، دو نمونه کد ارائه شده است: یکی برای تغییر متن های پیشفرض ووکامرس در یک فروشگاه تکزبانه (مثلاً انگلیسی به انگلیسی) و دیگری برای ترجمه یک رشته خاص در ووکامرس (مثلاً انگلیسی به فارسی).
نمونه ۱: تغییر متن های پیشفرض ووکامرس (انگلیسی به انگلیسی)
/**
* @snippet ترجمه متن در ووکامرس (انگلیسی به انگلیسی)
* @how-to https://www.mihantheme.ir/tutorials/
* @author Mohammad Rahimi
* @compatible WooCommerce 4.6
* @community https://www.mihantheme.ir/tutorials/woocommerce/
*/
add_filter( 'gettext', 'bbloomer_translate_woocommerce_strings', 999, 3 );
function bbloomer_translate_woocommerce_strings( $translated, $untranslated, $domain ) {
if ( ! is_admin() && 'woocommerce' === $domain ) {
switch ( $translated ) {
case 'Sale!':
$translated = 'On Offer';
break;
case 'Product Description':
$translated = 'Product Specifications';
break;
// موارد دیگر
}
}
return $translated;
}نمونه ۲: ترجمه متن در ووکامرس (انگلیسی به فارسی)
/**
* @snippet ترجمه متن در ووکامرس (انگلیسی به فارسی)
* @how-to https://www.mihantheme.ir/tutorials/
* @author Mohammad Rahimi
* @compatible WooCommerce 4.6
* @community https://www.mihantheme.ir/tutorials/woocommerce/
*/
adde_filter( 'gettext', 'bbloomer_translate_woocommerce_strings', 999, 3 );
function bbloomer_translate_woocommerce_strings( $translated, $untranslated, $domain ) {
if ( ! is_admin() && 'woocommerce' === $domain ) {
switch ( $untranslated ) {
case 'Sale!':
$translated = 'تخفیف!';
break;
case 'Product Description':
$translated = 'توضیحات محصول';
break;
// موارد دیگر
}
}
return $translated;
}نکات کلیدی درباره کد تغییر متن های پیشفرض ووکامرس
- فیلتر
gettext: این فیلتر وردپرس به شما امکان میدهد متنهای ووکامرس را تغییر دهید یا ترجمه کنید. - شرط
! is_admin(): این شرط باعث میشود تغییرات فقط در بخش کاربری (Frontend) اعمال شوند و داشبورد وردپرس دستنخورده باقی بماند، که به بهبود عملکرد کمک میکند. - محدود به ووکامرس: شرط
'woocommerce' === $domainتضمین میکند که کد فقط متنهای افزونه ووکامرس را تغییر دهد. حذف این شرط ممکن است باعث تغییر متنهای تم یا افزونههای دیگر شود. - تفاوت
$translatedو$untranslated:
- در فروشگاه تکزبانه (مثل انگلیسی)، هر دو متغیر یکسان هستند.
- در فروشگاه چندزبانه،
$untranslatedمتن اصلی (معمولاً انگلیسی) و$translatedمتن ترجمهشده (مثل فارسی) است.
برای مثال، اگر میخواهید تغییر متن افزودن به سبد خرید در ووکامرس را انجام دهید، کافی است متن موردنظر را در بخش switch اضافه کنید.
چگونه متنهای ووکامرس را پیدا کنیم؟
گاهی ممکن است کد کار نکند، چون متن انتخابشده درست نیست. متنهایی که در سایت (Frontend) میبینید، ممکن است با متنهای موجود در کد (Backend) متفاوت باشند. برای نحوه پیدا کردن رشتههای متنی ووکامرس:
- جستجو در فایلهای ووکامرس: فایلهای PHP افزونه ووکامرس را بررسی کنید تا متن دقیق را پیدا کنید. مثلاً:
// متن ساده
'Pay for order'
// متن با متغیر
'Sorry, "%s" is no longer in stock so this order cannot be paid for.'
- استفاده از ابزارها: از افزونههایی مثل Query Monitor یا String Locator برای پیدا کردن متنها استفاده کنید.
- آزمایش و خطا: اگر مطمئن نیستید، متنهای مختلف را تست کنید تا نتیجه درست را پیدا کنید.
کجا کد را اضافه کنیم؟
برای اضافه کردن کد PHP برای تغییر نام رشتهها در وردپرس یا ووکامرس، این گزینهها را دارید:
- فایل
functions.phpتم فرزند: از تم فرزند استفاده کنید تا با بهروزرسانی تم، تغییرات از بین نرود. - افزونه اختصاصی: یک افزونه ساده برای کدهای سفارشی بسازید.
- مدیریت با افزونه: از افزونههایی مثل Code Snippets برای مدیریت امن کدها استفاده کنید.
برای اطلاعات بیشتر، آموزش افزودن کدهای PHP سفارشی به المنتور را ببینید.
اگر کد کار نکرد، چیکار کنیم؟
اگر کد تغییر متن های پیشفرض ووکامرس درست کار نکرد، این مراحل را امتحان کنید:
- تغییر تم: موقتاً به تم پیشفرض بروید.
- غیرفعال کردن افزونهها: همه افزونهها بهجز ووکامرس را غیرفعال کنید.
- بررسی سازگاری: مطمئن شوید کد با نسخه ووکامرس شما (تا نسخه 4.6 تست شده) سازگار است.
- کنترل متنها: بررسی کنید که متن درستی را هدف قرار دادهاید.
برای جزئیات بیشتر، مقاله عیبیابی ووکامرس 101 را ببینید.
نکات حرفهای برای بهتر کردن کار
- بهبود عملکرد: شرط
! is_admin()باعث میشود کد فقط در سایت اجرا شود و بار سرور کمتر شود. - فروشگاه چندزبانه: برای فروشگاههای چندزبانه، از
$untranslatedبرای متن اصلی و$translatedبرای متن ترجمهشده استفاده کنید. - متنهای پیچیده: برای متنهایی که متغیر دارند (مثل
%s)، ساختار را حفظ کنید.
جمعبندی
با آموزش تغییر متن های پیشفرض ووکامرس و استفاده از کد ووکامرس برای تغییر متن، میتوانید بهراحتی متنهای فروشگاه خود را بدون افزونههای سنگین شخصیسازی کنید. این روش نهتنها به بهینهسازی ووکامرس برای سئو کمک میکند، بلکه تجربه کاربری را بهتر میکند و برند شما را متمایز میسازد. حالا که یاد گرفتید چگونه متن ووکامرس را تغییر دهیم، دست به کار شوید و فروشگاهتان را حرفهایتر کنید!
شما چه تجربهای در شخصیسازی متن ووکامرس دارید؟ تو بخش نظرات برامون بنویسید!
منبع : businessbloomer