ساخت فایل header.php

header
header
header

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

تقسیم بندی یک صفحه وردپرس

تقسیم بندی یک صفحه وردپرس

ساختار فایل Header.php
تگ head و قسمت های ابتدایی سایت مانند نوار منو و لوگوی سایت در این فایل قرار می گیرند سپس این فایل توسط تابع get_header() درون قالب های سایت فراخوانی می شود به این صورت ما یک فایل header.php داریم که به راحتی در تمامی صفحات تم از آن استفاده می کنیم. کد های زیر مربوط به یک نمونه فایل header.php است. در ادامه تمامی توابع آمده در زیر را بررسی می کنیم.

header

header

تابع ()get_header
این تابع فایل header.php را از پوشه تم دریافت می کند. در صورتی که شما چند فایل مانند
header-{name}.php داشته باشید نیز می توانید از این تابع استفاده کنید.
هنگامی که پوشه تم شما دارای فایل header.php نباشد با فراخوانی این تابع در قالب های تم وردپرس , فایل جایگزین از آدرس wp-includes/theme-compat/header.php به صورت پیش فرض انتخاب می شود.
استفاده از این تابع به صورت زیر می باشد

پارامتر name از نوع متنی و پیش فرض آن خالی است
به عنوان مثال در صورتی که در پوشه قالب خود فایلی با نام header-se.php داشته باشیم متغییر name را برابر “se” قرار می دهیم
مانند زیر

تابع language_attributes
این تابع برای نمایش خصوصیت های تگ به کار می رود. شامل تعیین نوع زبان همچنین سمت راست یا چپ بودن زبان را مشخص میکند شکل کلی آن به صورت زیر می باشد.

پارامتر doctype از نوع متنی, اختیاری و پیشفرض آن “html” می باشد
هنگام استفاده در زبان فارسی مقدار بازگشتی آن به صورت زیر است
“lang=”fa-IR” dir=”rtl
و هنگامی که سیستم وردپرس شما به زبان انگلیسی باشد به صورت زیر در می آید.
“lang=”en” dir=”ltr
از این تابع هنگامی استفاده می کنیم که قصد ساختن یک تم وردپرس برای چندید زبان مختف داریم.

bloginfo
تابع ()bloginfo
این تابع اطلاعات سایت شما را در هر نقطه از قالب سایت که مایل باشید نمایش خواهد داد. این اطلاعات شامل مقادیری است که شما در قسمت مدیریت وردپرس در منو تنظیمات برای سایت خود ذخیره کرده اید. تابع bloginfo اطلاعات مورد نظر را به صورت خودکار در مکان مورد نظر چاپ می کند در صورتی که تمایل دارید این اطلاعات را درون متغیرهای php ذخیره کنید از تابع get_bloginfo استفاده نمایید.
به صورت زیر می توانید از تابع bloginfo استفاده کنید

متغییر show اختیاری , از نوع متنی و پیشفرض آن مقدار name می باشد.
پارامتر های ورودی که متغییر show می پزیرد به شرح زیر می باشد.
name: عنوان سایت را نمایش می دهد.
description: معرفی کوتاه سایت را نمایش می دهد.
wpurl: نشانی url سایت را نمایش می دهد.
admin_email: نشانی ایمیلی که مشخص کرده اید را نمایش می دهد.
version: نسخه وردپرس مورد استفاده در سایت شما را نمایش می دهد.
html_type: مشخص کننده نوع محتوای صفحات سایت است
text_direction: جهت متن صفحات html سایت وردپرسی شما را نمایش می دهد . پیشنهاد می شود از تابع is_rtl() جهت بررسی راست چین یا چپ چین بودن جهت متون صفحات سایت استفاده نمایید.
language: زبان وردپرس استفاده شده در سایت را نمایش می دهد.
style_sheet_url: مسیر فایل اصلی شیوه نامه پوسته (style.css) را نمایش می دهد . پیشنهاد می شود از تابع echo برای باز گردانی مقدار تابع get_stylesheet_uri() استفاده نمایید.
templae_url / template_directory: مسیر پوشه اصلی پوسته شما را نمایش می دهد (تم فعال)
pingback_url: مسیر فایل xmlrpc.php را نمایش می دهد.
atom_url: مسیر فید Atom سایت شما را نمایش می دهد. (/feed/atom)
rdf_url : مسیر فید RDF/RSS سایت شما را نمایش می دهد. (/feed/rfd)
rss_url : مسیر فید RSS 0.92 سایت را نمایش می دهد. (/feed/rss)
rss2_url : مسیر فید RSS 2.0 سایت را نمایش می دهد. (/feed)
comments_atom_url : مسیر فید Atom کامنت ها (دیدگاه ها) را نمایش می دهد.
comments_rss2_url : مسیر فید RSS 2.0 کامنت ها (دیدگاه ها) را نمایش می دهد.

مثال :
نمایش عنوان سایت , لینک شده به آدرس سایت در اینجا عنوان وب سایت من آموزش وردپرس است :

خروجی این اسکریپت به صورت html زیر است

تابع ()single_cat_title
این تابع عنوان قالب های category.php و tag.php از زیرمجموعه archive.php را به ما می دهد همچنین می توانید برای مقدار دهی متغییر های php نیز از آن استفاده کنید. شکل استفاده از این تابع به صورت زیر می باشد.

پارامتر ورودی prefix اختیاری و از نوع متنی است. مقدار ورودی این قسمت قبل از نشان دادن عنوان به نمایش در خواهد آمد و پیش فرض آن خالی است. توجه داشته باشید در صورتی که متغییر display مقدار false داشته باشد این پارامتر نشان داده نخواهد شد.
پارامتر ورودی display اختیاری و از نوع boolean است. مقدار true برای به نمایش در آمدن عنوان و
مقدار false برای زخیره مقدار برگشتی درون متغییر های php استفاده می شود.

مثال :
می خواهیم متن ‘ بایگانی دسته:’ را قبل از نمایش عنوان دسته بندی هایمان نشان دهیم

تابع ()get_template_directory_uri
این تابع هیچ پارامتر ورودی ندارد و محل دایرکتوری تم فعال را نشان می دهد.
مثال مورد استفاده به شکل زیر می باشد در این جا نام تمی که من استفاده می کنم myth است.

همان گونه که مشاهده می کنید با استفاده از این تابع می توانید به تصویر fn.png موجود در تم دسترسی داشته باشیم. خروجی این اسکریپت به زبان html به صورت زیر است

تابع ()wp_head
تابع wp_head یک تابع ضروری برای تم های وردپرس است و باید بین تگ باز و بسته قرار گیرد. توجه داشته باشید که تمامی اسکریپت های پلاگین ها و سیستم مدیریت وردپرس به این تابع قلاب شده اند.

تابع ()body_class
این تابع برای تعیین کلاس تگ body تعریف شده است و به ما کمک می کند تا طراحی بهتری در صفحات وردپرس داشته باشیم. روش استفاده به صورت زیر می باشد.

کلاس های که در زیر آمده است بصورت پیش فرض توسط وردپرس تعریف شده اند.
طراح پوسته می تواند بعد از افزودن این کلاس ها به شیونامه style.css ویرایش لازم را انجام دهد.

صفحه نخست سایت ()home.php , is_home خروجی زیر را می دهد
“class=”home page
صفحات نوشته تکی ()single.php is_single خروجی زیر را می دهد
“class=” single-post
صفحه اصلی بایگانی ها ()archive.php is_archive خروجی زیر را می دهد
“class=” archive
صفحه بایگانی های زمان ها (سال ، ماه . . . ) : date
بایگانی نوشته های یک نوع نوشته دلخواه :post-type-archive post-type-archive-{posttype}
صفحه بایگانی نویسنده ها : archive author author-user_nicename
صفحه بایگانی دسته بندی ها : archive category category-slug
صفحه بایگانی برچسب ها : archive tag tag-slug
صفحه بایگانی رده بندی ها :tax-{taxonomy} term-{term} term-{ID}
صفحه ایستا : page page-id-{ID}
صفحه مادر : page-parent
صفجه زیر مجموعه :page-child parent-pageid-{ID}
در صورتی که یک قالب سفارشی برای صفحه مورد نظر انتخاب شده باشد :
page-template page-template-{directory}{filename}_php
در صورتی که صفحه از قالب پیش فرض پوسته استفاده نماید : page-template-default
صفحه جستجو : search
نمایش نتایج در صفحه جستجو : search-results
بدون نتیجه در صفحه جستجو : search-no-results
صفحه خطای 404 : error404
این تابع متناسب با موقعیت خود خروجی های متفاوتی اراعه می دهد توصیه می کنیم برای بدست آوردن اطلاعات بیشتر به آدرس http://codex.wordpress.org/Function_Reference/body_class مراجعه کنید.

تابع ()home_url
این تابع آدرس صفحه ابتدایی سایت را به ما می دهد و به صورت زیر می توان از آن استفاده کرد

آرگومان path و scheme اختیاری و از نوع متنی هستند. ورودی های متغییر scheme مقادیر http , https و relative می باشد به مثال های زیر توجه کنید.

مثال ۱ :

خروجی : http://www.example.com

مثال ۲ :

خروجی : http://www.example.com/

مثال ۳ :

خروجی : /example

()wp_title
این تابع عنوان قالب های, archive.php page.php , single.php را در اختیار ما قرار می دهد. مثلا اگر در قالب single.php قرار گیرد عنوان همان صفحه را نشان می دهد. شکل کلی این تابع به صورت زیر می باشد.

sep : اختیاری و از نوع متنی است. با استفاده از این پارامتر می توانید متن خاصی بعد یا قبل از عنوان وارد کنید اینکه متن مورد نظر شما قبل یا بعد از عنوان باشد با استفاده از متغییر seplocation مشخص می شود پیش فرض آن مقدار (») است.
display: اختیاری و از نوع Boolean است. به منظور نشان دادن و یا استفاده در کد های php مورد استفاده قرار می گیرد در صورت وارد کردن مقدار false تابع به حالت return مناسب برای استفاده در کدهای php در می آید. پیشفرض آن مقدار true است.
seplocation: اختیاری و از نوع متنی است. با استفاده از این پارامتر مشخص می کنیم مقدار پارامتر sep سمت چپ یا راست عنوان بیاید پیش فرض آن خالی است. ورودی این پارامتر مقدار left یا right می باشد. پیش فرض مورد استفاده به صورت زیر می باشد.

مشکلات خود را با ما در میان بگذارید.

۵ پاسخ

  1. مدل لباس می‌گه:

    باسلام منوی سایت http://music.rozpatogh.ir مطالب مربوط به هردسته رانمایش نمیده وتمامی مطالب رانمایش داده میشه ممنون میشوم راهنمایی کنیدباتشکر

  2. حامد می‌گه:

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

    خیلی کمکم کرد که تو هر پستی صفحه رو سیو می کنیم چه تایتلی بده
    من همیشه title رو تو هدر می زاشتم واسه هر صفحه ای عنوان سایتم همیشه سیو می شد نه عنوان خوده پست که این مشکل رو حل کرد

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

  3. ماهور می‌گه:

    سلام
    قصد معرفی زبان سایت رو دارم به فارسی تگ درست زبان چیه و دقیقا کجا باید استفاده بشه ؟
    ممنون

  4. دانلود یو می‌گه:

    بسیار عالی بود، ممنون و متشکرم

پاسخ دهید

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

9 + 6 =