🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ hosseinsalehi
اضافه کردن کد به فایل فانکش.
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۲۷ آذر ۱۴۰۰

سلام و عرض ادب

گاهی اوقات برای کاستومایز قالب‌ها نیاز داریم تعدادی کد به فایل فانکشن قالب اضافه کنیم.

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

این کار درستی هست ؟

و اینکه برای هر کدی می‌تویم از این روش استفده کنیم ؟ (محدودیت نداره )؟

سلام.

در دایرکتوری قالب مد نظر، یک دایرکتوری مثلا به اسم include یا classes بسازید و فایل کلاس هایی که مینویسیدو اونجا قرار بدید.

یک فایل هم برای autoloader کلاس‌ها مینویسید و این فایل autoloader.php رو داخل functions.php اینکلود کنید.

ازین طریق به تمام کدهاتون دسترسی دارید.

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


محسن موحد ۲۷ آذر ۱۴۰۰، ۱۰:۱۷

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

hosseinsalehi ۲۷ آذر ۱۴۰۰، ۱۲:۵۱

در این صورت میتونید از سناریوی child theme استفاده کنید.

تمام تغییرات رو در دایرکتوری child انجام میدید و برای بروزرسانی قالب parent رو upgrade میکنید.

داخل لینک توضیحات کاملش اومده، یکی از مزایاش:

allow parent themes to be updated without destroying your modifications;


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

بهترین پاسخ
محسن موحد ۲۷ آذر ۱۴۰۰، ۱۷:۲۱

بسیار عالی .

جمع بندی این میشه که :

اگر قالب رو خودمون می‌نویسیم که به فایل فاینکشن قالب اضافه کنیم.

اگر قالب آماده استفاده میکنیم و چایلد تم نداره بهتر از برای این موارد یه چایلد تم بسازیم.(البته اگر قالب آماده ای که استفاده میکنیم چایلد تم داشته باشه میریم سراغ راه حل بعدی)

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


hosseinsalehi ۲۹ آذر ۱۴۰۰، ۰۶:۱۶