نحوه قراردادن کدهای php در فایل function.php (فانکشن)

در این مقاله بهتون یاد میدیم اگر در آموزشی گفته شد کدی رو در فایل function قالب بزارید چطوری باید این کار رو انجام بدید

فایل Function.php چی هست ؟

فایل Function.php یکی از فایل های مهم و کاربردی قالب سایتتون هست که وظایف متعددی بر عهده داره . شما میتونید توابع مختلفی در این قالب قرار بدید که در بخش های مختلف سایت اجرایی بشه . این فایل دقیقاً مثل یک افزونه عمل میکنه و شما میتونید مزایای افزونه های متعددی رو از طریق اضافه کردن چند خط کد به فایل فانکشن اجرایی کنید .

همه چیز در مورد فایل فانکشن - function.php

چطوری باید کدهای دلخواه رو در فایل function.php قرار بدیم ؟

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

به همین دلیل نیازه یه سری توضیحات اولیه بهتون ارائه کنیم تا با این فایل بیشتر آشنا بشید و در ادامه روش های ویرایش این فایل رو بهتون یاد بدیم .

فایل فانکشن قالب کجاست ؟

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

/public-html/wp-content/themes/قالب شما/function.php

اما ممکنه پوسته ای هم باشه که این فایل رو نداره . بنابراین میتونید خودتون براحتی در هاست یک فایل با نام و پسوند function.php ایجاد کنید و کدهای مورد نظرتون رو داخلش قرار بدید .

روش های ویرایش فایل فانکشن وردپرس

استفاده از FTP

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

از طریق هاست

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

از طریق پنل مدیریت

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

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

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

اگر کله شق هستید ! و اصرار زیادی دارید از گزینه ویرایشگر پوسته که در بخش نمایش قرار داره استفاده کنید این اخطار رو بهتون میدیم که اگر کدی رو اشتباه وارد کنید سایت و پنل مدیریت همزمان بالا نمیاد و شما چاره ای جز مراجعه به روش های قبلی یعنی تغییر کدهای فایل از طریق FTP و هاست ندارید . بنابراین توصیه میکنیم حتماً از دو روش قبلی برای این کار استفاده کنید .

ساختار کدهای فایل Function.php

محتویات فایل فانکشن این شکلیه :

<?php

یک عالمه کد جور واجور 

?>

اگر دقت کنید ابتدای این فایل باید عبارت php?> رو ببنید . کلیه کدهای php باید بین دو تا تگ زیر باشه :

< ? php     و      ? >

حالا در آموزش های مختلف ممکنه دو مدل کد به شما ارائه کنن . یک حالت این دو تا تگ رو ابتدا و انتهاش داره . یک مدل هم ممکنه نداشته باشه . برای ما فرقی نمیکنه . اگر هم این تگ ها ابتدا و انتهای کد php ارائه شده بود اونها رو حذف می کنیم و کدها رو طوری در فایل فانکشن قرار میدیم که بین دو تا تگ بالا قرار بگیره . اگر فایل فانکشن ندارید و خودتون باید بسازید پس باید این دو تا تگ رو خودتون ایجاد کنید .

برای فهم بهتر فرض کنید فایل فانکشن اصلی ما این کدها رو داره :

<?php
if ( !defined('ABSPATH') ){ die(); }

global $avia_config;

if( isset( $avia_config['use_child_theme_functions_only'] ) )	{	return;		}

$checkfile = trailingslashit( pathinfo( __FILE__, PATHINFO_DIRNAME ) ) . 'config-include.php';
if( file_exists( $checkfile ) )
{
	require_once $checkfile;
}
$avia_config['posts_on_current_page'] = array();

if( ! current_theme_supports( 'avia_exclude_wpml' ) )
{
	require_once( 'config-wpml/config.php' );
}

require_once( 'config-layerslider/config.php' );

$avia_config['color_sets'] = array(
    'header_color'      => 'Logo Area',
    'main_color'        => 'Main Content',
    'alternate_color'   => 'Alternate Content',
    'footer_color'      => 'Footer',
    'socket_color'      => 'Socket'
 );
 
?>

حالا از شما خواسته شده کدهای زیر رو به فایل فانکشن سایتتون اضافه کنید .

<?php

 // Disable Resize Large Image 
 add_filter( 'big_image_size_threshold', '__return_false' );

?>

به این ترتیب عمل می کنیم که ابتدا بررسی میکنیم ببینیم کد ارائه شده تگ php داره یا نه . چون کد ارائه شده این تگ رو داره و فایل فانکشن ما هم این تگ رو داره پس وجود دو تگ php داخل هم مشکل ایجاد میکنه و باید تگ php ابتدا و انتهای کد جدید رو برداریم بطوری که فقط دو خط وسط بمونه . حالا اون رو باید یه جایی بین تگ های php فایل فانکشن قرار بدیم . (هر جا که دلمون خواست !)

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

<?php


 // Disable Resize Large Image 
 add_filter( 'big_image_size_threshold', '__return_false' );
 
 
if ( !defined('ABSPATH') ){ die(); }

global $avia_config;

if( isset( $avia_config['use_child_theme_functions_only'] ) )	{	return;		}

$checkfile = trailingslashit( pathinfo( __FILE__, PATHINFO_DIRNAME ) ) . 'config-include.php';
if( file_exists( $checkfile ) )
{
	require_once $checkfile;
}
$avia_config['posts_on_current_page'] = array();

if( ! current_theme_supports( 'avia_exclude_wpml' ) )
{
	require_once( 'config-wpml/config.php' );
}

require_once( 'config-layerslider/config.php' );

$avia_config['color_sets'] = array(
    'header_color'      => 'Logo Area',
    'main_color'        => 'Main Content',
    'alternate_color'   => 'Alternate Content',
    'footer_color'      => 'Footer',
    'socket_color'      => 'Socket'
 );
 
?>

سوالات متداول کاربران در خصوص ویرایش فایل فانکشن قالب

جای نگرانی نیست . همون کدی که قبلاً وارد کردید رو حذف کنید . همه چیز به حالت قبل برمیگرده .

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

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

پاسخ سوالتون اینجا نبود ؟

اینکه غصه نداره ! سوالتون رو از ما بپرسید . . .

۰ پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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