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

نوین ادمین » ترفندهای وردپرس » فعال کردن ویرایشگر وردپرس در صفحه دسته بندی ها

  • تاریخ ثبت : ۹ اسفند ۱۳۹۸
  • آخرین بروزرسانی : ۹ اسفند ۱۳۹۸
  • زمان مورد نیاز برای مطالعه : ۷ دقیقه

امتیاز / ۵. از رای

هنوز کسی رای نداده !

متاسفیم که خوشتون نیومد!

بهمون بگید چیکار کنیم بهتر بشه!

مقدمه

در مورد چی میخوایم صحبت کنیم؟

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

همه چیز در مورد فایل فانکشن - function.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 شما رو از بکاپ قبلی برگردونه .

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

۲ پاسخ
  1. hamed
    hamed گفته:

    درود
    بزرگوار
    سایت وردپرسی من (که البته ووکامرسی هم هست) محتوای صفحاتش دوبار تکرار میشه. البته غیر از صفحه کالا و دسته بندی کالاها.
    مثلا صفحه تماس با ما یا درباره ما یا صفحه چک آوت .
    ممکنه بفرمایید علت چیه؟
    از قالب martfury استفاده کردم
    این هم آدرس وب سایتمه hagbaa.com

    پاسخ
    • شهاب الدین رفیعی
      شهاب الدین رفیعی گفته:

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

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

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

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

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

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