مطمئن نیستید فایل functions.php در وردپرس چه کاربردی دارد یا چه کاری میتوانید با آن انجام دهید؟ به طور خلاصه، فایل functions.php به شما این امکان را میدهد تا قطعه کدها را به سایتتان اضافه نمایید. میتوانید از این قطعه کدها به شکلی مفید در سایت خود استفاده کنید. بنابراین درک نحوه کار با فایل functions.php میتواند به شما در ایجاد یک سایت وردپرسی بهتر کمک کند. در این مقاله هر آنچه که نیاز باشد در مورد فایل functions.php بدانید، توضیح داده میشود. پس از اینکه به صورت کامل با این فایل آشنا شدید، 17 قطعه کد مفید معرفی میشود تا به شما در سفارشی سازی سایت کمک کنند.
فهرست مطالب
- فایل functions.php در وردپرس چه کاری انجام میدهد؟
- نحوه کار با فایل functions.php به صورت ایمن
- 2 گزینه برای کار با فایل functions.php
- نحوه دسترسی به فایل functions.php در وردپرس
- توابع مفید برتر برای افزودن به فایل functions.php
- بهترین روشها برای سازماندهی فایل functions.php در وردپرس
فایل functions.php در وردپرس چه کاری انجام میدهد؟
فایل functions.php مربوط به قالب میباشد که میتوانید از آن برای اضافه کردن کدهای دلخواه به سایت خود بهره ببرید. از این قطعه کدها برای تغییر نحوه عملکرد بخشهای مختلف سایت یا اضافه کردن محتوا یا کد جدید به سایت استفاده میشود. علیرغم اینکه فایل functions.php در قالب شما گنجانده شده است اما صرفا به ایجاد تغییرات در قالب محدود نمیشود و میتوانید در بخشهای مختلفی از سایت خود مانند نحوه کار افزونهها، تنظیماتی را اعمال کنید. در ادامه برخی از انواع تنظیمات متداول که میتوانید با استفاده از فایل وردپرس functions.php انجام دهید، ذکر شده است:
- عملکرد هسته اصلی وردپرس را تغییر دهید. مانند تعداد پست هایی که باید در صفحه نتایج جستجو نشان داده شوند یا محتوایی که در فید RSS سایت قرار گیرد.
- کدهای کوتاه سفارشی ایجاد کنید.
- محتوا یا اسکریپتهای جدیدی را به سایت خود اضافه نمایید. مانند قرار دادن یک اسکریپت چت آنلاین در صفحات خاص یا ویرایش فوتر سایت.
از آنجا که فایل functions.php در وردپرس به شما اجازه میدهد به جای HTML استاتیک، اسکریپتهای PHP دلخواه را به سایت خود اضافه کنید، در مورد تغییراتی که میتوانید انجام دهید، محدودیت هایی وجود خواهد داشت.
فایل وردپرس functions.php در کدام مسیر قرار دارد؟
فایل functions.php در پوشه قالب سایت شما قرار دارد. برای یافتن این فایل، میتوانید با استفاده از FTP یا کنترل پنل هاست به سرور خود متصل شوید و به مسیر زیر مراجعه کنید:
…/wp-content/themes/[نام قالب فعال]/functions.php
نحوه کار با فایل functions.php به صورت ایمن
از آنجایی که کار با فایل functions.php در وردپرس شامل افزودن کد به وب سایت شما میشود، مهم است که قبل از ایجاد هر گونه تغییر در این فایل، نکات زیر را در نظر بگیرید. حتی یک تغییر کوچک در کدهای این فایل مانند حذف یا اضافه کردن کاما، میتواند باعث بروز خطاهایی مانند ایجاد صفحه سفید در وردپرس شود. در نسخههای اخیر، وردپرس در مدیریت این خطاها به شیوهای بسیار بهتر عمل کرده است. از جمله میتوان به نمایش پیام «خطای مهمی در وبسایت شما وجود دارد» یا بررسی خطاهای PHP قبل از ذخیره تغییرات، اشاره کرد. این موارد که به ظاهر ساده به نظر میرسند اما با آگاه کردن شما از پیامدهای ویرایش اشتباه کدهای فایل functions.php قالب، میتوانند از ایجاد مشکلات بیشتر در سایت جلوگیری نمایند.
با این حال، برای جلوگیری از بروز هرگونه مشکل، نکات زیر توصیه میشود:
- کد functions.php خود را در یک سایت Staging (شبیه سازی سایت جهت تست تغییرات) آزمایش کنید. قبل از افزودن هر قطعه کد به فایل functions.php در وردپرس اصلی خود، همواره توصیه میشود ابتدا آنها را روی نسخه کپی سایت بررسی نمایید. اینکار به شما امکان میدهد تا خطاهای احتمالی را بررسی کرده و خروجی را به صورت دقیق مشاهده کنید.
- قبل از ایجاد تغییرات در functions.php، نسخه پشتیبان تهیه کنید. اگر بعد از اضافه کردن قطعه کد موردنظر، در سایت خود خطایی مشاهده کردید، میتوانید با استفاده از نسخه پشتیبان، فوراً خطای مشاهده شده در سایت را رفع نمایید.
اگر سایت شما در میهن وب هاست میزبانی میشود، به طور خودکار هر هفته از سایت شما نسخه پشتیبان تهیه خواهد شد. همواره دو بکاپ آخر را میتوانید صرفا با یک کلیک و از طریق ناحیه کاربری خود، منوی "مدیریت سرویسها" و زیر منوی "مرکز عملیات سی پنل" بازگردانی کنید. از دیتابیس سایت نیز به صورت روزانه پشتیبان تهیه میشود و طبق آموزش زیر میتوانید بازگردانی بکاپ را انجام دهید:
بازگردانی بک آپ روزانه دیتابیس
همچنین میتوانید هر زمان که تمایل داشتید، یک نسخه پشتیبان از اطلاعات سایت خود تهیه کنید. جهت این مورد از آموزش زیر استفاده نمایید:
- برای ویرایش فایل functions.php، همواره از Child Theme استفاده نمایید. از آنجایی که فایل functions.php در کدهای قالب وردپرسی شما قرار دارد، زمانی که قالب خود را بروزرسانی میکنید، فایل functions.php بازنویسی میشود. برای جلوگیری از بازنویسی تغییراتی که در فایل functions.php قالب خود ایجاد کرده اید، باید از Child Theme وردپرس استفاده کنید و قطعه کد خود را به فایل functions.php قالب فرزند اضافه نمایید. در صورت استفاده از یک تم فرزند، میتوانید بدون اینکه فایل functions.php رونویسی شود، قالب اصلی خود را بروزرسانی کنید.
2 روش جایگزین برای ویرایش فایل functions.php
در حالی که فایل functions.php در وردپرس یک راه آسان برای افزودن قطعه کدها به سایت شما ارائه میدهد اما برخی از روشهای جایگزین وجود دارند که در اکثر مواقع بهتر هستند:
- استفاده از افزونه مدیریت کد
- ذخیره قطعه کد در یک افزونه سفارشی
این جایگزینها میتوانند چند مزیت نسبت به استفاده از فایل functions.php داشته باشند:
- به پوسته سایت شما وابسته نیست - این بدان معنی است که اگر قالب سایت را تغییر دهید، تغییرات functions.php شما همچنان وجود خواهند داشت.
- سازماندهی بهتر – این گزینهها سازماندهی کدهای شما را آسانتر میکنند. اگر قصد دارید تعداد زیادی کد را به سایت خود اضافه کنید، میتواند مفید باشد.
- کنترل بیشتر – در افزونه مدیریت کد، امکانات مفیدی مانند فعال یا غیرفعال کردن یک قطعه کد با استفاده از دکمه تغییر وضعیت، ارائه میشود. همچنین میتوانید قطعه کدها را صرفا در قسمت فرانت یا بک اند اجرا کنید. ابزارهای بیشتری نیز ارائه میشود که در زمان کار با افزونه میتوانید آنها را مشاهده نمایید.
از افزونه مدیریت مد استفاده کنید
این نوع افزونهها به شما یک رابط کاربر پسند برای افزودن و ویرایش قطعه کدهای فایل functions.php میدهند. یکی از محبوبترین گزینهها، افزونه رایگان Code Snippets است اما میتوانید افزونههای دیگری را نیز بیابید که عملکردی مشابه دارند. توسط Code Snippets، میتوانید قطعه کدهای functions.php را از طریق پیشخوان وردپرس ویرایش کنید. امکانات دیگری که این افزونه ارائه میدهد، عبارتند از:
- افزودن عنوان و توضیحات
- سازماندهی قطعه کدها با استفاده از برچسبها
- اجرای کدها در قسمت خاصی از سایت
همچنین میتوانید تمام قطعه کدهای خود را در یک لیست مشاهده کرده و در صورت نیاز به راحتی آنها را فعال یا غیرفعال کنید.
تصویر(1)
از آنجایی که Code Snippets یک افزونه است، حتی اگر قالب سایت را تغییر دهید، تمام کدهای شما همچنان قابل استفاده خواهند بود.
یک افزونه برای اضافه کردن ویژگیهای سفارشی به سایت، ایجاد کنید
جایگزینی دیگر برای فایل functions.php در وردپرس، استفاده از افزونه سفارشی (شخصی) برای قرار دادن قطعه کدها در سایت میباشد. اگرچه ساخت افزونه شخصی میتواند پیچیده به نظر برسد اما در واقع بسیار ساده تر از آن است که به نظر میرسد.
مراحل کار به صورت زیر است:
- یک پوشه در رایانه خود برای افزونه ایجاد کنید.
- یک فایل php. در داخل آن پوشه ایجاد کرده و آن را با ویرایشگر متن، ویرایش نمایید.
- کدهای زیر را به فایل فوق اضافه کنید.
<?php
/**
* Plugin Name: My Custom Code Snippets
* Description: This is a custom plugin to house code snippets.
* Author: exam
* Version: 1.0
*/
/* Add the first code snippet below this comment - use the comment to explain what it does. */
[CODE]
/* Add the second code snippet below this comment. */'
[CODE]
/* Continue as needed. */
[CODE]
?>
- قطعه کد functions.php موردنظر خود را به فایل اضافه نمایید.
سپس باید افزونه را در وردپرس نصب و فعال کنید. 2 راه برای انجام این کار وجود دارد:
- از طریق FTP به سرور خود متصل شوید و پوشه افزونه سفارشی را در مسیر wp-content/plugins آپلود کنید. سپس به لیست افزونهها مراجعه و افزونه را فعال نمایید.
- در رایانه خود پوشه افزونه را با فرمت zip فشرده کنید. سپس، به منوی "افزونهها" سپس "افزودن" مراجعه نموده و با آپلود فایل zip، مانند سایر افزونهها آن را نصب نمایید.
نحوه دسترسی به فایل functions.php در وردپرس
روشهای مختلفی برای دسترسی و ویرایش فایل functions.php در وردپرس وجود دارد. در اینجا 2 روش متداول معرفی شده است:
- ویرایشگر کد قالب که در پیشخوان وردپرس قرار دارد.
- استفاده از FTP و ویرایشگر کد موجود در سیستم شخصی (مانند notepad یا ++notepad).
1. از ویرایشگر کد قالب در پیشخوان وردپرس استفاده کنید
بهطور پیشفرض، وردپرس به شما امکان میدهد تا تمام کدهای قالب خود، از جمله فایل functions.php را در پیشخوان مدیریت سایت ویرایش کنید:
- وارد پیشخوان وردپرس شوید.
- به "نمایش" سپس "ویرایشگر پرونده پوسته" (شماره 1) مراجعه کنید.
- فایل "توابع پوسته" (شماره 2) را از لیست "پروندههای پوسته" در سمت چپ انتخاب نمایید.
- قطعه کدهای خود را در ویرایشگر کد اضافه کنید.
- برای ذخیره تغییرات روی دکمه "بهروزرسانی پرونده" (شماره 3) کلیک نمایید.
تصویر(2)
ممکن است برخی کاربران، ویرایش فایل از طریق پیشخوان وردپرس را برای ارتقا امنیت سایت، غیرفعال کنند. در این صورت میتوانید از روش بعدی استفاده نمایید.
2. از FTP استفاده کنید
روش دیگری که برای ویرایش فایل functions.php در وردپرس میتوانید استفاده کنید، از طریق FTP میباشد. به این ترتیب میتوانید فایل موردنظر را به راحتی ویرایش کنید.
مراحل کار به صورت زیر است:
- برای شروع ابتدا یک نرم افزار مدیریت FTP دانلود نمایید. پیشنهاد میشود از نرم افزار FileZilla استفاده میکنید.
- با استفاده از اطلاعات کاربری FTP خود به سرور متصل شوید.
- سپس به مسیر زیر (شماره 1) مراجعه کنید:
…/wp-content/themes/[چایلد تم فعال شما]
- روی فایل "functions.php" (شماره 2) کلیک راست کرده و "View/Edit" (شماره 3) را انتخاب کنید.
تصویر(3)
با این کار فایل functions.php در رایانه شما دانلود شده و به طور خودکار محتویات آن در یک ویرایشگر متن باز میشود. اکنون میتوانید قطعه کدهای خود را به فایل اضافه کنید.
تصویر(4)
پس از اتمام ویرایش فایل، لازم است تا تغییرات خود را ذخیره کرده و فایل را ببندید. سپس FileZilla درخواستی برای آپلود مجدد نسخه ویرایش شده در سرور به شما نمایش میدهد که میبایست آن را تایید کنید.
تصویر(5)
توابع مفید برای افزودن به فایل functions.php
اکنون که با نحوه ویرایش فایل functions.php در وردپرس آشنا شدید، در ادامه برخی از مفیدترین کدهای functions.php که میتوانید به سایت خود اضافه کنید، معرفی میشوند.
نمایش تاریخ آخرین ویرایش در پستهای وبلاگ
به طور پیشفرض، بیشتر قالبها تاریخ انتشار پستهای وبلاگ را نمایش میدهند. با این حال، اگر مرتباً محتوای قدیمی را بروزرسانی و بازنویسی میکنید، ممکن است بخواهید تاریخ آخرین ویرایش را نیز نشان دهید یا آن را جایگزین تاریخ انتشار نمایید. این کار نه تنها به بازدیدکنندگان واقعی شما اطلاع میدهد که همچنان در حال بروزرسانی محتوا هستید، بلکه به Google نیز نشان خواهد داد که محتوای شما جدید است.
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
نوار ابزار وردپرس را برای کاربران خاص غیرفعال کنید
به طور پیش فرض، نوار ابزار وردپرس برای همه کاربرانی که وارد سیستم شدهاند با توجه به نقشهای کاربری، نشان داده میشود. این موضوع صرفا برای نقشهای خاص، مانند نقش "مشتری" در فروشگاههای ووکامرس، صدق نمی کند. اگر میخواهید این مورد را تغییر دهید، میتوانید از یک قطعه کد در functions.php جهت مخفی کردن نوار ابزار وردپرس برای نقشهای کاربری خاص استفاده کنید. مثال زیر، نوار ابزار مدیریت را برای کاربران با نقش نویسنده مخفی خواهد کرد.
add_filter( 'show_admin_bar', function( $show ) {
if ( current_user_can( 'author' ) ) {
return false;
}
return $show;
} );
نمایش با تاخیر پستها در فید RSS
بهطور پیشفرض، محتوا به محض انتشار، در فید RSS سایت ظاهر میشود. این مورد میتواند به content scraper ها (رباتهایی که به سرقت محتوا میپردازند) اجازه دهد تا قبل از اینکه گوگل پست اصلی شما را ایندکس کند، محتوای به سرقت رفته را در سایت دیگری منتشر کرده و در گوگل ایندکس نمایند. برای جلوگیری از سرقت محتوا توسط افراد دیگر، میتوانید نمایش پستها در فید RSS خود را به تاخیر بیندازید. در حالی که این کار به صورت کامل از سرقت محتوای جلوگیری نمیکند اما فرصتی به وجود میآید تا Google ابتدا سایت شما را ایندکس نماید. برای مثال، در قطعه کد زیر میتوانید عدد "30" (بر حسب دقیقه) را به مدت زمانی که میخواهید نمایش پستها در فید RSS تاخیر داشته باشد، تغییر دهید:
function exam_delay_feed_content($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '30'; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'exam_delay_feed_content');
برخی دستهها را از فید RSS حذف کنید
علاوه بر تاخیر نمایش محتوا در فید RSS، ممکن است تمایل داشته باشید برخی دستهبندیها را از نمایش در فید RSS سایت خود حذف کنید. جهت این مورد، میتوانید از قطعه کد functions.php زیر استفاده کنید:
function exam_exclude_category_rss($query) {
if ($query->is_feed) {
$query->set('cat','-38');
}
return $query;
}
add_filter('pre_get_posts','exam_exclude_category_rss');
مطمئن شوید که شناسه دسته (در قطعه کد بالا عدد 38 میباشد) را با شناسه دستههایی که میخواهید از سایت خود حذف کنید جایگزین نمایید (علامت منفی را نیز حذف نکنید).
نحوه پیدا کردن شناسه دسته ها:
برای مشاهده لیستی از تمام دسته بندیها در سایت خود، به "نوشتهها" سپس "دسته ها" مراجعه کنید. در زیر دستهای که میخواهید حذف کنید، روی "ویرایش" کلیک نمایید.
تصویر(6)
URL صفحه را در نوار آدرس مرورگر بررسی نمایید. شناسه دسته، عددی میباشد که بعد از عبارت زیر آمده است:
taxonomy=category&tag_ID=30&post_type=post
تصویر(7)
محدود کردن ذخیره نسخه های ویرایش شده وردپرس بر اساس نوع پست
برای جلوگیری از حجیم شدن پایگاه داده سایت، میتوانید تعداد نسخههای ذخیره شده پست ها را محدود کنید. در حالی که یکی از روشهای محدود کردن ذخیره ویرایشهای پست وردپرس در سراسر سایت، ویرایش فایل wp-config.php سایت است اما شاید بخواهید تعداد ویرایشهای متفاوتی را برای انواع پستهای مختلف، تنظیم کنید. به عنوان مثال ممکن است تمایل داشته باشید ذخیره ویرایش پستهای وبلاگ به جز محصولات ووکامرس را محدود نمایید. قطعه کد functions.php زیر به شما امکان انجام این کار را میدهید. برای ویرایش کد و استفاده از آن در سایت خود، نوع پست (در این مثال "post") را به نوع پست موردنظر و عدد (در این مثال 5) را به تعداد ویرایشهایی که میخواهید ذخیره شوند، تغییر دهید.
function exam_post_revisions_by_type( $revisions, $post ) {
if( 'post' == $post->post_type ) {
$revisions = 5;
}
return $revisions;
}
add_filter( 'wp_revisions_to_keep', 'exam_post_revisions_by_type', 10, 2 );
در قطعه کد فوق، اگر تمایل دارید برای محصولات نیز چنین محدودیتی قرار دهید، کافیست در خط دوم کد زیر را جایگزین نمایید:
if( 'product' == $post->post_type ) {
جستجوی وردپرس را غیرفعال کنید
اگر سایت شما به جستجو نیاز ندارد، میتوانید جستجوی وردپرس را غیرفعال نمایید تا از سوء استفاده احتمالی جلوگیری شود. برای مثال، حتی اگر کادر جستجو را در سایت خود قرار ندهید، رباتها همچنان میتوانند با افزودن ?s=[search-term] به URL شما، از تابع جستجو استفاده کنند. برای این کار میتوانید قطعه کد زیر را به فایل functions.php در وردپرس اضافه کنید:
function exam_disable_wp_search( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'exam_disable_wp_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
اگر شخصی سعی داشته باشد تا مستقیماً از عملکرد جستجو استفاده کند، سایت شما به جای نتایج جستجو، صفحه 404 را نمایش میدهد.
اضافه کردن کدهای کوتاه در عناوین پست
به طور پیش فرض، وردپرس اجازه اجرای هیچ کد کوتاهی را در قسمت عنوان پست به شما نمیدهد. اگر میخواهید از کدهای کوتاه در عناوین پست استفاده کنید، میتوانید این قابلیت را با افزودن یک قطعه کد ساده به فایل functions.php در وردپرس فعال نمایید. در مثال زیر به جای do_shortcode میتوانید کد کوتاه موردنظر خود را قرار دهید.
add_filter( 'the_title', 'do_shortcode' );
برای بهبود امنیت، نمایش خطا در زمان ورود به سایت را مخفی کنید
بهطور پیشفرض، وردپرس بعد از هر تلاش ناموفق برای ورود به پیشخوان سایت، یک پیغام را نشان میدهد. این پیغام میتواند اطلاعاتی را ارائه دهد، مانند اینکه آیا آدرس ایمیل خاصی در سایت شما ثبت شده است یا خیر (حتی اگر رمز عبور نادرست باشد). برای جلوگیری از افشای هرگونه اطلاعات حساس، میتوانید نمایش خطا در زمان ورود به سایت را با افزودن قطعه کد زیر به فایل functions.php خود پنهان کنید:
function exam_hide_login_errors(){
return 'These are not valid credentials';
}
add_filter( 'login_errors', 'exam_hide_login_errors' );
قطعه کد فوق، متن خطای پیشفرض ورود به سیستم را با پیام زیر جایگزین میکند:
These are not valid credentials
میتوانید متن را بر اساس نیاز خود شخصی سازی کنید. پیشنهاد میشود از خط تیره، اسلش یا سایر کاراکترها خودداری نمایید زیرا ممکن است باعث ایجاد خطا شود.
طول خلاصه متن را تغییر دهید
به طور پیش فرض، Excerpt یا خلاصه متن در وردپرس، 55 کلمه اول یک پست را نشان میدهد. اگر میخواهید تغییری در Excerpt ایجاد نمایید، میتوانید قطعه کد زیر را به فایل functions.php اضافه کنید.
function exam_change_excerpt_length($length) {
return 90;
}
add_filter('excerpt_length', 'exam_change_excerpt_length');
قطعه کد بالا طول Excerpt را به 90 کلمه تغییر میدهد. اگر تمایل دارید مقدار دیگری تنظیم نمایید، کافیست به جای عدد "90"، تعداد دقیق کلماتی که میخواهید در Excerpt نمایش داده شود را قرار دهید.
شماره نسخه وردپرس را حذف کنید
برای اینکه تشخیص نسخه وردپرس برای عوامل مخرب سختتر شود، برخی از کاربران تمایل دارند شماره نسخه وردپرس را از کدهای سایت حذف کنند. برای این کار میتوانید کدهای زیر را به فایل functions.php خود اضافه کنید:
function exam_hide_version() {
return '';
}
add_filter('the_generator', 'exam_hide_version');
تصاویر شاخص را در فید RSS وردپرس قرار دهید
اگر میخواهید تصاویر شاخص پستهای خود را در محتوای فید RSS قرار دهید، میتوانید قطعه کد زیر را به فایل functions.php در وردپرس خود اضافه کنید:
function exam_featured_image_rss($content) {
global $post;
if ( has_post_thumbnail( $post->ID ) ){
$content = '<div>' . get_the_post_thumbnail( $post->ID, 'full', array( 'style' => 'margin-bottom: 15px;' ) ) . '</div>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'exam_featured_image_rss');
add_filter('the_content_feed', 'exam_featured_image_rss');
قطعه کد بالا تصویر را با اندازه کامل در RSS نمایش میدهد. برای استفاده از اندازههای مختلف، میتوانید به جای کلمه «full» از اندازههای دیگر مانند "larg" یا "medium" استفاده کنید.
امکان آپلود انواع فایل در وردپرس (به عنوان مثال SVG)
به طور پیش فرض، وردپرس از آپلود انواع فایلهای خاص، مانند فایلهای SVG، جلوگیری میکند. برای فعال کردن پشتیبانی از این نوع فایل ها، میتوانید قطعه کد زیر را به فایل functions.php وردپرس اضافه نمایید:
function exam_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'exam_myme_types', 1, 1);
این قطعه کد فقط امکان آپلود فایلهای SVG را در وردپرس فراهم میکند، اما میتوانید آن ویرایش کنید تا در صورت نیاز فایلهای دیگری نیز پشتیبانی شوند.
پیامهای بروز رسانی وردپرس را برای افراد غیر مدیر مخفی کنید
به صورت پیش فرض، وردپرس در زمان ارائه بروزرسانی جدید، پیامهای مربوط به آن را برای تمامی کاربرانی که وارد پیشخوان سایت شدهاند، نشان خواهد داد. حتی اگر نقش کاربر به او اجازه اعمال بروزرسانی را ندهد، پیام درج شده در پیشخوان به آن کاربر اطلاع میدهد که با مدیر سایت تماس بگیرد. برای اصلاح این مورد، میتوانید از قطعه کد زیر جهت پنهان کردن اعلانهای بروزرسانی برای همه کاربران (به غیر از مدیرکل) استفاده کنید:
function exam_hide_update_nag() {
if ( ! current_user_can( 'update_core' ) ) {
remove_action( 'admin_notices', 'update_nag', 3 );
}
}
add_action('admin_menu','exam_hide_update_nag');
کیفیت بهینه سازی خودکار JPEG را تغییر دهید
اگرچه همه از این ویژگی اطلاع ندارند اما وردپرس به طور خودکار تصاویر JPEG را پس از آپلود و هنگام ایجاد تصاویر بندانگشتی، فشرده میکند. از زمان ارائه وردپرس 4.5، وردپرس سطح کیفیت پیش فرض تصاویر را روی 82 تنظیم کرده است ( 100 به معنای بدون فشرده سازی است). اگر میخواهید این سطح کیفیت را بالاتر یا پایینتر تنظیم کنید، میتوانید قطعه کد زیر را به فایل functions.php خود اضافه نمایید. به جای عدد 90 در قطعه کد زیر، سطح کیفیت موردنظر را قرار دهید:
add_filter( 'jpeg_quality', create_function( '', 'return 90;' ) );
بهترین روشها برای سازماندهی فایل functions.php در وردپرس
اگر از فایل functions.php در وردپرس صرفا برای اضافه کردن چند قطعه کد استفاده میکنید، احتمالاً نیازی به سازماندهی آنها نخواهید داشت اما اگر قطعه کدهای زیادی را به سایت خود اضافه میکنید و روش مناسبی برای سازماندهی کدها ندارید، میتواند باعث ایجاد مشکل و پیچیدگی در مدیریت آنها شود. در ادامه چند روش برای سازماندهی قطعه کدها معرفی شده است.
به کدهای خود توضیحات (Comments) مناسب اضافه کنید
وقتی برای اولین بار یک قطعه کد را به فایل functions.php در وردپرس خود اضافه میکنید، دقیقاً میدانید که چه کاری انجام میدهد. وقتی یک سال بعد به فایل functions.php مراجعه میکنید، ممکن است کدها چندان واضح نباشند. برای جلوگیری از این اتفاق، باید توضیحات مناسب را به هر قطعه کد اضافه کنید. Comment ها متنی هستند که توسط وردپرس اجرا نمی شوند اما به توسعه دهندگان سایت کمک میکنند تا در مورد دلیل استفاده از قطعه کد در فایل functions.php اطلاعات کاملی کسب نمایند. برای افزودن توضیحات به قطعه کدهای خود، میتوانید از فرمت زیر استفاده کنید:
// This is a single-line code comment
برای افزودن توضیحات چند خطی، میتوانید از فرمت زیر استفاده کنید:
/**
* This is a code comment that spans multiple lines
* This text is also in the same comment
* This is the last line in the code comment
*/
در تصویر زیر مثالی مربوط نحوه استفاده از Comment ها آورده شده است.
تصویر(8)
از Include Files برای جدا کردن قطعه کدها به فایلهای مختلف استفاده کنید
اگر تعداد خیلی زیادی قطعه کد دارید، میتوانید به جای قرار دادن مستقیم آنها در فایل functions.php، در فایلهای جداگانهای کدها را ذخیره کنید. سپس، میتوانید آن قطعه کدها را با استفاده از توابع include یا require در فایل functions.php قرار دهید. این کار نیاز به اندکی دانش برنامه نویسی دارد.
از جایگزینهای functions.php استفاده کنید
اگر متوجه شدید که فایل functions.php در وردپرس شما کمی شلوغ شده است، میتوانید یکی از گزینههای جایگزین functions.php را که بالاتر توضیح داده شد، استفاده نمایید. به عنوان مثال، افزونه رایگان Code Snippets سازماندهی کدها را بسیار آسان میکند. زیرا میتوانید هر قطعه کد را به طور جداگانه اضافه کرده و سپس عنوان و توضیحات خود را تکمیل کنید.
نتیجه گیری
فایل functions.php در وردپرس، یک فایل اختصاصی برای هر قالب است که به شما امکان میدهد قطعه کدهای PHP را به وب سایت خود اضافه کنید. اگر قصد دارید قطعه کدهایی را به فایل functions.php در وردپرس اضافه نمایید، باید همیشه از یک چایلدتم استفاده کنید تا هنگام بروزرسانی قالب اصلی، تغییرات شما بازنویسی نشوند. همچنین توصیه می شود قبل از افزودن قطعه کدها، از سایت خود نسخه پشتیبان تهیه کنید و در صورت امکان، آنها را در یک کپی از سایت، آزمایش نمایید. انتخاب جایگزین برای functions.php نیز پیشنهاد میشود. بدین منظور میتوانید از یک افزونه مدیریت کد استفاده کرده یا افزونه سفارشی خود را برای قرار دادن کدهای موردنظر ایجاد کنید. نمونه کدهای ذکر شده در این مقاله، ایدههای خوبی برای شروع کار با functions.php به شما میدهند. با این حال، در مورد کارهایی که میتوانید انجام دهید، ممکن است با محدودیت هایی از سمت وردپرس نیز مواجه شوید.