دوره مجازی قالب وردپرس (جلسه 61) :پیاده سازی ترجمه قالب + پیاده سازی child theme

دسته بندی: وردپرس
زمان مطالعه: 1 دقیقه
۰۷ اسفند ۱۳۹۴

به نام خدا و سلام. در جلسه 61 ام از دوره مجازی آموزش طراحی قالب حرفه ای وردپرس در خدمت شما هستیم. در این جلسه درباره توابع ترجمه قالب های وردپرس و هم چنین نحوه پیاده سازی آن و استفاده ار نرم افزار PoEdit بحث خواهیم کرد و هم چنین قابلیت child theme که مزیت بزرگی برای قالب های وردپرس به شما می رود را پیاده سازی خواهیم کرد. در ابتدای کار تابع load_theme_textdomain را معرفی می کنیم که با استفاده از آن یک شناسه منحصر به فرد برای ترجمه قالب مشخص خواهیم کرد و  در ادامه هم توابع ()__  و ()e_ را معرفی خواهیم کرد که با استفاده از آن می توانیم و متن های مختلف قالب را قابل ترجمه کنیم. با ما همراه باشید.

در این جلسه خواهیم دید :

  • معرفی قابلیت و نحوه ترجمه متن در وردپرس
  • معرفی تابع load_theme_textdomain
  • استفاده از توابع ()__ و ()e_ در قالب
  • استفاده از نرم افزار PoEdit برای ایجاد فایل های ترجمه
  • معرفی قابلیت child-theme
  • پیاده سازی ساختار مورد نیاز برای child-theme
  • فعال سازی child-theme
:: توجه

این مطلب یک جلسه از آموزش طراحی قالب وردپرس می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش طراحی قالب وردپرس

چه امتیازی به این مقاله می دید؟
نویسنده
یادگیرنده ی همیشگی،برنامه نویس،نویسنده،عاشق خلق چیزهای عجیب،عاشق تحلیل داده ها، مسئول بخش فنی و هم بنیان گذار در سون لرن.

جلسات دوره

نظرات کاربران

عباس دلاوری

سلام چطور می تونم برای قالبی که ساختم ، یک تصویر پیش نمایش براش قرار بدم – که این تصویر در قسمت نمایش پوسته های ورد پرس در کنترل پنل به نمایش در بیاد؟

عباس دلاوری

سلام من یک تم کودک ساختم و خواستم رنگ نوشته رو عوض کنم ولی نشد
در فایل استایل تم کودک این کد هارو نوشتم

/*
Theme Name: testchild
Version: 1.0
Description: A child theme of test
Author: admin
Template: test
*/

@import url("../test/style.css");

h1 a, h1 a:hover {
    color: #b21212;
    text-decoration: none;
}
کیوان علی محمدی

سلام. حتما برای اضافه کردن فایل style قالب فرزند در تابع wp_register_style یا wp_enqueue_style از get_stylesheet_directory_uri استفاده کنید.

farhad6169

یک سوال دیگه برام پیش اومد و اون اینکه در بخش کپی رایت سایتها، وقتی اسم طراح زده میشه، معمولا بصورت فارسی درج میشه. اگر سایت 2 زبانه باشه باید برای بخش انگلیسی سایت، متن فارسی به انگلیسی تغییر کنه. بطور مثال میشه نوشت:
طراحی سایت: سون لرن
خب اگه به بخش انگلیسی وارد بشیم باید بشه:
webdesign: 7lern
این کارو برای قالبها بدون افزونه و با کدنویسی، چطوری باید انجام بدم.
با تشکر

کیوان علی محمدی

می تونید این موارد رو یک آپشن ذخیره کنید و بر اساس زبان مقدارش رو برگردونید. کلا یک آپشن هم بیشتر نیاز نداره.

farhad6169

تشکر از شما
اگه میشه بیشتر توضیح بدید. اگر در یکی از قسمتها گفته شده لطفا بگید که کدوم قسمت هستش که یه مروری بکنم.
آپشن چطوری باید درست کنم بعد چطوری در فوتر قرارش بدم؟
با تشکر

کیوان علی محمدی

در بخش ساخت آپشن پنل از آپشن ها استفاده زیادی شده. از اونجا می تونید مرور کنید.

farhad6169

سلام خدمت شما آقای علی محمدی
من فایل زبان یک قالبی رو دارم ترجمه میکنم با همون روشی که در درس گفته شده. این قالب در طول زمان همیشه توسط سازنده آپدیت میشه و حتما فایل زبان هم آپدیت میشه.
حالا مشکل اینجاست که اگر من مثلا 1000 خط رو ترجمه فارسی کردم و فردا فایل زبان ارائه شده توسط این شرکت ارائه شد و دارای مثلا 1200 خط بود ، من چطوری باید فایل خودم رو آپدیت کنم؟
یعنی فایلی که الان 1000 خطش ترجمه شده رو چطوری باید اون 200 خط رو بهش اضافه کنم و فقط اون 200 خط رو ترجمه کنم؟
با تشکر از شما

کیوان علی محمدی

سلام. با استفاده از نرم افزار poedit می تونید اینکارو انجام بدین. از منوی catalog گزینه update from pot file رو انتخاب کنید و در این حال باید فایل po ترجمه شده توسط شما باید در نرم افزار باز باشه. در این حالت متن های جدید برای ترجمه به فایل شما اضافه میشه و می تونید تر جمه اشون کنید.

farhad6169

خیلی عالی بود پاسختون.
از شما و سون لرن سپاسگذارم.
موفق باشید

کیوان علی محمدی

موفق باشید.

Amin Shahraki

سلام.
سرعت پاسخ گویی خیلی پایین اومده!
چرا؟!

لقمان آوند

پایین نیست دوست عزیز.
شما دیشب سوال کردید و امروز هم که تعطیل بوده. ایشالله پاسخ می گیرید فردا.

Amin Shahraki

ممنون از پیگیریتون.

Amin Shahraki

سلام
چطور میتونم فایل های ترجمه رو به Child Theme بشناسونم؟
طبق راهنمایی هایی که توی سایت های انگلیسی بود اقدام کردم اما جواب نداد.
(لازمه بگم که برای معرفی فایل استایل قالب اصلی به قالب فرزند از دستور ایمپورت استفاده نکردم بلکه از تابع مربوطه توی functions استفاده کردم)

من این کارها رو انجام دادم :
1. ساخت فایل ها po. و mo. و قرار دادن اونها در پوشه ی languages در دایرکتوری child theme
2. قرار دادن کدهای گفته شده در سایت های مختلف داخل functions.php

(ضمنا من فایل rtl.css استفاده نکردم داخل child theme بلکه خود style.css رو ویرایش کردم)

کیوان علی محمدی

سلام. این کد رو داخل فایل functions.php قالب child قرار بدید و تست کنید.


function my_child_theme_locale() {
load_child_theme_textdomain( 'total', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_child_theme_locale' );

Amin Shahraki

سلام. متأسفانه جواب نداد. به Text Domain مربوط نمیشه؟
توی این تکه کد، تغییری نباید ایجاد کنم؟ مثلاً جاییش اسم قالب اصلی یا فرزند رو جایگرین کنم؟
واقعاً موندم چکار کنم؟ اینجوری که نمیشه از چایلد تم استفاده کرد؛ قالب اصلی هم که تا آپدیت بشه همه تغییرات میپره…

کیوان علی محمدی

چرا دوست عزیز باید text domain رو تغییر بدین.

pedram2020

سلام. اگر از یک تگ div که توی قالب اصلی هست رو بخواهیم با استفاده از child theme پاکش کنیم، باید چکار کنیم؟

کیوان علی محمدی

سلام همون فایل رو در داخل child-theme قرار بدین و تغییرات رو اعمال کنید و تست کنید.

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

شما هم چنان می توانید سوالات خود را در این قسمت بپرسید اما اولویت پاسخ گویی با دانشجویانی است که بازه پشتیبانی فعال دارند.

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
گزارش مشکل