طراحی سایت با وردپرس قسمت دوازدهم


طراحی سایت با وردپرسوردپرس 

طراحی سایت با وردپرس قسمت دوازدهم

در طراحی سایت با وردپرس قسمت دوازدهم به توابع قالب می پردازیم:

فایل Functions.php جایی است که شما ویژگی های منحصر به فرد قالب وردپرس خود را اضافه می کنید. این فایل از هوک برای قابلیت بیشتر ماژولار بودن، توسعه پذیری و تابعی بودن قالب استفاده می کند.

#Function.php چیست؟

رفتار فایل Functions.php مشابه افزونه وردپرس می باشد، عملکرد و ویژگی ها را به یک سایت وردپرس می افزاید. شما می توانید برای فراخوانی توابع وردپرس و تعریف توابع شخصی خود از آن استفاده کنید.

نتیجه یکسانی را می توان با استفاده از یک افزونه یا فایل Functions.php به دست آورد. اگر شما ویژگی های جدیدی ایجاد کردید که باید بدون نیاز به آنچه در وب سایت است در دسترس باشد، بهترین روش آن است که در افزونه قرار دهید.

مزایا و معایبی در استفاده از یک افزونه وردپرس و یک فایل Functions.php وجود دارد.

یک افزونه وردپرس

  • نیاز خاصی به متن سربرگ منحصر به فرد دارد؛
  • در wp-contents/plugins ذخیره می شود، معمولا به عنوان یک زیر پوشه؛
  • تنها در بارگزاری صفحه خروجی می دهد زمانی که فعال باشد؛
  • در تمام قالب ها اعمال می شود؛ و
  • باید دارای یک هدف باشد – برای مثال، بهینه سازی موتور جستجو را انجام می دهد یا با پشتیبان گیری کمک می کند.

در همین حال، یک فایل Functions.php

  • نیازی به متن سربرگ ندارد؛
  • در زیر پوشه قالب wp-contents/themes ذخیره می شود؛
  • تنها زمانی که پوشه قالب فعال باشد خروجی می دهد؛
  • تنها به آن پوسته اعمال می شود ( اگر این پوسته تغییر کند، ویژگی ها دیگر نمی توانند استفاده شوند )؛ و
  • می تواند از تعداد بلوک کدهای متعددی برای اهداف مختلف استفاده کند.

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

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

با این که فایل Functions.php در پوسته فرزند قبل از فایل Functions.php قالب مادر بارگزاری می شود، نمی تواند نسبت به آن برتری داشته باشد. فایل functions.php پوسته فرزند می تواند به عنوان تکمیل یا جایگزینی توابع قالب مادر به کار رود.

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

با Functions.php شما می توانید:

  • از هوک های وردپرس استفاده کنید. برای مثال، با فیلتر excerpt_length شما می توانید طول گزیده مطلب را تغییر دهید (از پیش فرض 55 کلمه).
  • ویژگی های وردپرس را با ()add_theme_support فعال کنید. برای مثال، تصاویر بند انگشتی پست، فرمت های پست و منوهای ناوبر را فعال کنید.
  • تعریف توابعی که می خواهید در چند پوسته جداگانه از آن ها استفاده کنید.

اگر افزونه وردپرس توابع یا فیلترهای یکسانی را فراخوانی کند، که شما آن را در Functions.php انجام داده اید، نتایج می توانند غیر منتظره باشند، حتی موجب غیر فعال شدن سایت شما شود.

#مثال ها

در پایین تعدادی از مثال هایی که شما در فایل Functions.php برای ویژگی های مختلف می توانید استفاده کنید آورده شده است. هر کدام از این مثال ها به شما اجازه دسترسی می دهند اگر شما تصمیم به ثبت پوسته خود در دایرکتوری WordPress.org داشته باشید.

#نصب قالب

تعدادی از ویژگی های قالب باید شامل یک تابع “setup” باشد که زمانی که پوسته فعال است در ابتدا اجرا می شود. همان طور که در زیر نشان داده شده است، هر یک از این ویژگی ها می تواند به فایل Functions.php قالب شما به عنوان معرفی ویژگی های وردپرس اضافه شود.

این مهم است که فضای نام (namespace) توابع شما با نام قالب شما یکسان باشد. تمام مثال های زیر از فضای نام _myfirsttheme استفاده می کنند، که باید در ابتدا در نام قالب شما سفارشی سازی شود.

برای ایجاد توابع اولیه، یک تابع جدید همانند ()myfirsttheme_setup استارت زدیم

#پیوندهای خوراک خودکار (Automatic feed links)

پیوندهای خوراک خودکار RSS را برای دیدگاه و پست ها به طور پیش فرض فعال می کنند. این خوراک به صورت خودکار در <head> نمایش داده خواهد شد. آن می تواند با استفاده از ()add_theme_support فراخوانی شود.

#منوهای ناوبری (Navigation Menus)

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

شما می توانید در Functions.php منوهای مختلفی را نصب کنید. آن ها می توانند با استفاده از ()register_nav_menus و با استفاده از ()wp_nav_menu به یک قالب اضافه شوند. اگر قالب شما می خواهد به بیش از یک منو اجازه دسترسی دهد، شما باید از آرایه استفاده کنید. در حالی که برخی از دارای منوهای ناوبری سفارشی نیستند، توصیه می شود که شما این ویژگی را برای سفارشی سازی آسان مجاز کنید.

 هر منویی که تعریف می کنید می تواند بعد از استفاده از ()wp_nav_menu و استفاده از نام اختصاص داده شده فراخوانی کنید. ( برای مثال: primary ) به عنوان پارامتر theme_location.

#بارگزاری Text Domain

قالب ها می توانند توسط ساخت رشته ای در قالب فعال شما برای ترجمه به زبان های مختلفی ترجمه شوند. بدین منظور، شما باید از ()load_theme_textdomain استفاده کنید. برای اطلاعات بیشتر راجع به بین ترجمه قالب به زبان های مختلف، بخش بین المللی کردن قالب را بخوانید.

#تصاویر بند انگشتی پست

تصاویر بند انگشتی پست و ویژگی های تصاویر به کاربران اجازه می دهد که برای پست خود یک تصویر انتخاب کنند. پوسته شما می تواند تصمیم بگیرد که چگون آن را نمایش دهد، بسته به آن که چگونه طراحی شده است. برای مثال، شما ممکن است نمایش یک تصویر بند انگشتی را با هر پست در دید (view) آرشیو را انتخاب کنید. یا، شما ممکن است از ویژگی large تصاویر در صفحه خانگی خود استفاده کنید. در حالی که هر قالب نیازی به استفاده از ویژگی های تصاویر ندارد، توصیه می شود که شما پشتیبانی از تصاویر بندانگشتی و ویژگی های تصاویر را به آن بیافزایید.

#فرمت های پست (Post Formats)

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

در مورد فرمت های پست در آینده بیشتر توضیح خواهیم داد.

#مثال راه اندازی اولیه

تمام ویژگی های بالا به شما یک فایل Functions.php مشابه زیر خواهد داد. توضیحات کد برای شفاف سازی در آینده افزوده شده اند. همانطور که در مثال اشاره شده، شما باید بخش الزامی ()add_action برای اطمینان از این که تابع myfirsttheme_setup بارگزاری می شود، بیافزایید.

#عرض محتوا (Content Width)

یک عرض محتوا به فایل Functions.php شما جهت اطمینان از این که محتوا یا دارایی های شما (تصاویر، فایل ها و …) ظرف (Container) قالب شما را نمی شکند(از سایز قالب شما بیرون نمی رود). عرض محتوا بیشینه عرض برای هر محتوا در سایت شما را می افزاید، شامل تصاویر بارگزاری شده. در مثال زیر، حداکثر اندازه محتوا 800 پیکسل در نظر گرفته شده است. محتوا بزرگتر از این سایز نخواهد بود.



#دیگر ویژگی ها

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

( این بخش در صفحات آتی توضیح داده خواهد شد. )

  • Custom Headers سربرگ های سفارشی
  • (Sidebars (widget areas ستون های کناری ( محل ویجت ها )
  • (Custom Background (needs link پس زمینه های سفارشی
  • (Add Editor Styles (needs link افزودن حالت به ویرایشگر
  • (HTML5 (needs link
  • (Title tag (needs link تگ عنوان

#فایل Functions.php  شما

اگر شما تمام توابع لیست شده در بالا را انتخاب کرده باشید، این چیزی است که در یک نگاه فایل Functions.php به شما ارایه می کند. آن با رفرنس های بالا توضیح داده شده است.

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




مطالب مرتبط با این دسته بندی