فایل function.php وردپرس چیست؟
فایل فانکشن یا Function.php یکی از فایل های مهم و کاربردی قالب های وردپرسی است که وظایف متعددی بر عهده دارد. این فایل در تمامی صفحات وردپرس (نمای جلویی و بخش مدیریت) اجرا می شود و دستورات مورد نظر شما را اجرا خواهد کرد.
در واقع این فایل نمونه ساده یک افزونه است. حتی می توان با اضافه کردن چند خط کد php به فایل function.php یک افزونه برای وردپرس نوشت.
چرا باید نحوه کار با فایل فانکشن را یاد بگیریم؟
فایل Function.php قابلیت های بسیار زیادی دارد. بسیاری از تغییرات و سفارشی سازی های ووکامرس با نوشتن چند خط کد در آن به راحتی اعمال می شود.
بسیاری از مقالات آموزشی وردپرس، کدهایی برای اعمال تغییرات در سایت معرفی کرده و از شما می خواهند این کدها را در فایل فانکشن قالب قرار دهید. در صورتی که با نحوه ویرایش فایل function.php آشنایی نداشته باشید ممکن است با کوچکترین اقدام اشتباه در عملکرد سایت اختلال ایجاد کنید و در هنگام نمایش خطا دریافت کنید.
فایل فانکشن وردپرس کجاست؟
فایل Function.php به صورت پیش فرض در پوشه قالب شما در مسیر زیر قرار دارد.
/public-html/wp-content/themes/قالب شما/function.php
- بسیاری از قالب ها این فایل را از قبل دارند و شما می توانید آن را ویرایش کنید.
- برخی قالب های قدیمی به طور کل این فایل را ندارند و می توانید آن را بسازید
- برخی طراحان نیز از این فایل جهت محافظت از کدهای برنامه نویسی خود استفاده کرده اند و فانکشن دیگری با نام مشابه در اختیاز شما برای ویرایش قرار داده اند.
برای آشنایی بیشتر با مکان فایل فانکشن وردپرس در انواع قالب ها و کنترل پنل های مختلف و همچنین نحوه ویرایش آن حتماً ویدئوی ابتدای مقاله را مشاهده نمایید.
آموزش ویرایش فایل فانکشن وردپرس
از روش های مختلف قادر خواهید بود به Function.php دسترسی پیدا کنید. در ادامه روش های مختلف دسترسی به این فایل را به شما آموزش خواهیم داد.
ویرایش فایل فانکشن با استفاده از FTP
بهترین و ایمن ترین روش برای ویرایش این فایل مهم استفاده از FTP است. با استفاده از اف تی پی می توانید به هاست متصل شوید و فایل Function.php را دانلود کنید آن را ویرایش کرده و سپس در هاست آپلود نمایید.
دقت کنید که قبل از ایجاد هرگونه تغییر حتماً از این فایل بکاپ تهیه کنید تا در صورت بروز خطا بتوانید آن را بازیابی کنید. در صورتی که پس از ویرایش فایل، سایت دچار خطا شد فقط کافیست فایل قبلی را مجدداً بارگزاری کنید.
ویرایش فایل Function.php با استفاده از کنترل پنل هاستینگ
اگر کار با اف تی پی را بلد نیستید می توانید از کنترل پنل هاست خود برای ویرایش فایل ها استفاده کنید. در هنگام خرید سرویس میزبانی وب، به شما دسترسی های لازم را ارائه خواهند کرد.
حتماً قبل از ویرایش کدها سعی کنید محتویات فایل Function.php قبلی را در جایی ذخیره کنید تا در صورت بروز مشکل آن را بازگردانی کنید.
ویرایش فانکشن با استفاده از ادیتور فایل پنل وردپرس
خطرناک ترین روش ویرایش Function.php استفاده از ویرایشگر داخل پنل مدیریت وردپرس است. این روش بسیار پر ریسک است؛ چرا که انجام کوچک ترین اشتباهی باعث بروز خطا شده و سایت با مشکل مواجه خواهد شد و کاری از دست شما ساخته نیست.
آشنایی با محتویات فایل فانکشن وردپرس
عموماً فایل function.php به شکل زیر است:
<?php
یک عالمه کد جور واجور
?>
از شکل و شمایل و تعدد کدها داخل این فایل نترسید. قرار نیست متوجه عملکرد آنها شوید. شما صرفاً قرار است کد مورد نظر خود را به این فایل اضافه کنید.
نحوه درج کد جدید در function.php
کدهای php که در آموزش های مختلف به شما ارائه می شود را می بایست بین تگ های php?> و <? در پایین ترین قسمت ممکن قرار دهید. دقت کنید اگر فایل شما تگ های php?> و <? را داراست (اکثر فایل های فانکشن خود دارای این کد هستند) حتما این دو عبارت را از ابتدا و انتهای کدهای php جدید در صورت وجود حذف کنید.
برای فهم بهتر فرض کنید فایل اصلی دارای کدهای زیر است:
<?php
// Disable Resize Large Image
add_filter( 'big_image_size_threshold', '__return_false' );
?>
حالا از شما خواسته شده کدهای زیر را به فایل Function سایت اضافه کنید.
<?php
/* Disable Woocommerce admin */
add_filter( 'woocommerce_admin_disabled', '__return_true' );
?>
از آنجا که فایل فانکشن ما دارای تگ های ابتدایی و انتهایی است، این کدها را ابتدا و انتهای کد جدید حذف می کنیم و فقط دستورات را به فایل فانکشن منتقل می کنیم. نتیجه نهایی به این شکل خواهد شد.
<?php
// Disable Resize Large Image
add_filter( 'big_image_size_threshold', '__return_false' );
/* Disable Woocommerce admin */
add_filter( 'woocommerce_admin_disabled', '__return_true' );
?>
8 پاسخ
درود
بزرگوار
سایت وردپرسی من (که البته ووکامرسی هم هست) محتوای صفحاتش دوبار تکرار میشه. البته غیر از صفحه کالا و دسته بندی کالاها.
مثلا صفحه تماس با ما یا درباره ما یا صفحه چک آوت .
ممکنه بفرمایید علت چیه؟
از قالب martfury استفاده کردم
این هم آدرس وب سایتمه hagbaa.com
درود بر شما :
سایتتون به درستی باز نشد . متوجه منظورتون هم نشدم. پلاگین ها رو غیر فعال کنید ببینید مشکل از اونهاست یا نه . در ادامه اگر مشکل برطرف نشد قالبتون رو عوض کنید بررسی کنید مشکل از قالب هست یا نه. احتمالا با این دو روش مشکل رو پیدا می کنید. اونوفت میشه بررسی دقیق تری انجام داد
سلام خط 1059 من در فایل Function.php در wp_includes خطا داره من نمی دونم خطاش چیه تو این خط نوشته Function add_query_arg(… $args) لطفا بگید باید کجاشو تغییر بدم
درود بر شما: همونطور که در گفتگوها پاسخ دادم بهتره از نسخه های جدید xamp برای راه اندازی سایت در لوکال استفاده بفرمایید.
سلام من استباهی فایل fonction رو داخل سایت تغییر دادم الان wp-adminبالا نمیاد باید چیکار کنم
بک اپ هم از fonction دارم داخل هاست جای گذاری کردم اما درست نشد
ممنون میشم راهنمایی کنید
درود بر شما. از طریق هاست باید فایل فانکشن رو اصلاح کنید. ممکنه یه سری کد رو حذف کرده باشید یا تغییری در اونها داده باشید. بهترین راه اینه که به هاستتون بگید بکاپ این فایل رو از روزهای قبل برگردونن.
سلام و خدا قوت
ابتدا تشکر میکنم از آموزش مفید و کاربردی
سایت من در قسمت بالای مقالات این ارور را نمایش می دهد و من نمیدانم چگونه این مشکل را برطرف کنم اگر راهنمایی کنید خیلی ممنون میشم
Warning: DOMDocument::loadHTML(): Attribute id redefined in Entity, line: 9 in /home/krlkomgn/public_html/wp-content/themes/aradrolling/functions.php on line 990
Warning: DOMDocument::loadHTML(): Attribute id redefined in Entity, line: 14 in /home/krlkomgn/public_html/wp-content/themes/aradrolling/functions.php on line 990
Warning: DOMDocument::loadHTML(): Attribute id redefined in Entity, line: 18 in /home/krlkomgn/public_html/wp-content/themes/aradrolling/functions.php on line 990
Warning: DOMDocument::loadHTML(): Attribute id redefined in Entity, line: 21 in /home/krlkomgn/public_html/wp-content/themes/aradrolling/functions.php on line 990
Warning: DOMDocument::loadHTML(): Unexpected end tag : p in Entity, line: 25 in /home/krlkomgn/public_html/wp-content/themes/aradrolling/functions.php on line 990
درود بر شما محمدرضای عزیز. این موارد ارور نیستن و وارنینگ (هشدار) هستن. میتونید از طریق فایل wp-config نمایش هشدارها و خطاها رو مخفی کنید. وارنینگ ها به طور کلی مشکل خاصی رو ایجاد نمیکنن. ایراد همونطور که گفته شده از فایل فانکشن قالبتون در خط 990 هست. با طراح یا فروشنده قالب صحبت کنید تا این موارد رو در نسخه های بعدی حل کنه.