دوره مجازی قالب وردپرس (جلسه 19): فایل های footer و header در قالب



visibility  
mode_comment   ۳۴

به نام خدا و سلام. با جلسه نوزدهم از دوره مجازی آموزش قالب حرفه ای وردپرس در خدمت شما هستیم. در این جلسه قراره فایل های index.php و هم چنین فایل های footer.php و header.php رو توضیح بدیم. فایل های header و footer کدهای بخش متای سایت و هم چنین کدهای شروع و بستن تگ ها html و هم چنین کدهای استایل ها و اسکریپت ها رو در داخل خودشون برای استفاده های متعدد در فایل های مختلف نگهداری می کنند. برای توضیحات تکمیلی ویدیو رو ببینید.

در این جلسه خواهیم داشت :

  • فایل header.php
  • فایل footer.php
  • معرفی فیلتر show_admin_bar
  • ایجاد فایل منوی بالای سایت و اضافه کردن در قالب به روز وردپرس
  • تابع wp_head
  • تابع wp_footer
info توجه

این مطلب یک جلسه از آموزش طراحی قالب وردپرس حرفه ای می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش طراحی قالب وردپرس حرفه ای

comment دیدگاه کاربران
mehdi karimi replyپاسخ

سلام ، استاد کدهایی که تابع wp_head اضافه میکنه حجم کدهارو خیلی بالا نمیبره ؟
آیا راهی هست که بشه بهینه کرد این کد هارو ؟ مثلا emoji هارو حدف کرد چون خیلی زیادن
و یه سوال دیگه آیا افزونه ها بدون تگ wp_head کار میکنن ؟

کیوان علی محمدی

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

mehdi karimi

ممنون ، استاد wp_footer هم باید حتما باشه ؟ این اگه نباشه چه مشکلاتی پیش میاد ؟

وحید صالحی

ممکنه یعضی از افزونه ها و فایل ها اجرا نشن همچنین admin bar هم نمایش داده نمیشه

darin replyپاسخ

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

کیوان علی محمدی

سلام ممنونم دوست عزیز. برای مواردی که گفتین معمولا چون در سئو در تاثیر داره توسط پلاگین ها مدیریت می کنن. حالا قالب های پیشرفته پنل تنظیمات دارن که در اون پنل این موارد رو خود کاربر وارد میکنه و میشه در قسمت head نمایش داد. بخش پنل تنظیمات که برسیم این موارد رو خودتون یاد میگیرید. می تونیم تابع bloginfo(‘description’) رو برای تگ description استفاده کنیم.

امین خلیلی replyپاسخ


سلام من کد بالا را به صورت کامنت در اوردم ولی ادمین با ر نشون داده نمیشه دلیلش چیه

وحید صالحی

تابع wp_footer رو به سند footer اضافه کنید

رضا replyپاسخ

سلام استاد عزیز خداقوت
چرا از تابع get_template_directory_uri استفاده میکنی؟ مگه تابع bloginfo template_url چشه؟
ممنون

کیوان علی محمدی

سلام فرق خاصی نمیکنه. از هر کدوم راحت ترین استفاده کنید.

حمید رضا مصطفی زاده replyپاسخ

سلام استاد
ایشالله تا پایان این دوره درگاه بانکی رو هم توضیح میدید؟چون تقریبا این غالب حالت پورت فولیو و یه جورایی جا داره یه خورده از ووکامرس (فقط قسمت درگاه خرید و نحوه وصل شدن) رو داخلش بگذارید.

استاد یه سوال دیگه اینکه در نظر بگیرید چند تا سایت با محتوا های متفاوت و تم های جدا داریم
حالا واسه هرکدوم ما باید یه وردپرس داشته باشیم یا نه همه رو میشه تو یه وردپرس با تم های جداگانه هندل کرد؟
به طور مثال وقتی ما مطالب که مربوط به همین غالبی که داریم پیش میریم رو
در غالب های پیش فرض میبریم متفاوت و به هم ریخته نشون میده

کیوان علی محمدی

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

حمید رضا مصطفی زاده

ممنون استاد یه سوال دیگه میشه کلا cms ها رو از مدل های mvc مثلا کدایگنایتر استفاده کرد و پیاده سازی کرد؟
و اینکه به طور کلی ساختار وردپرس بر مبنای mvc ها هست؟

کیوان علی محمدی

سلام. بله به راحتی میشه یک cms و با فریمورک های mvc پیاده سازی کرد. وردپرس هم تا حدودی مفهوم mvc رو پیاده سازی کرده ولی شبیه فریمورک ها عمل نکرده.

mostafa0098 replyپاسخ

سلام
سلام
wp_title()

به من جواب نمیده، من از تابع :

add_theme_support(‘title-tag’ );

هم در داخل فایل functions.php استفاده کردم باز بهم جواب نداد.

کیوان علی محمدی

سلام کدتون رو قرار بدین.

آرمین نادری replyپاسخ

سلام آقای علی محمدی
من در فایل functions.php قابلیت title-tag رو فعال کردم ولی تابع wp_title مقدار null رو بر میگردونه میشه لطفا بگید مشکل از کجاس تو گوگل هم سرچ کردم ظاهرا مشکل خیلی از کاربراس

کیوان علی محمدی

دوست عزیز wp_title رو دارن deprecate میکنن و دیگه بهتره ازش استفاده نشه. شما از همون title-tag استفاده کنید خود وردپرس این تگ رو تولید می کنه.

function theme_slug_setup() {
add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'theme_slug_setup' );

سهیل محمدی replyپاسخ

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

لقمان آوند

باید ادیتور رو برای کار با وردپرس آماده کنید .
اینجا رو بخونید و انجام بدید.

رامین روزدار replyپاسخ

با سلام …
من برای title از تابع wp_title استفاده کردم و درون فایل function هم فعالش کردم ولی title نمایش داده نمیشه …
ولی از تابع wp_render_title_tag_ استفاده کردم و نمایش داده شد آیا این دو با هم فرق دارند؟

کیوان علی محمدی

نسخه وردپرسی که استفاده می کنید چند هستش؟ چون wp_render_title_tag_رو برای نسخه های قدیمی استفاده می کنن.

mohfp replyپاسخ

با سلام و خسته نباشید
استاد شما فرمودید که wp_head قبل از بسته شدن قرار بدیم مشکلی نداره اول قرار بدیم ؟؟

کیوان علی محمدی

سلام. منظورتون چیه اول قرار بدیم؟

mohfp

مشکلم حل شد خیلی ممنون بابت پاسخ گویی

null replyپاسخ

سلام استاد خسته نباشید
wp_title که deprecat شده من از نسخه 4.6 استفاده میکنم وقتی جستجو کردم رسیدم به wp_get_document_title میخواستم ببینم جایگزین مناسبش همینه یا روش دیگه ای وجود داره که بهینه تر و کامل تر باشه؟
ممنون

کیوان علی محمدی

سلام.

add_theme_support( 'title-tag' );

Mehdi Soli replyپاسخ

با سلام و عرض خدا قوت خدمت استاد عزیز، آقای علی محمدی
یه سوال داشتم، چرا در فایل استایل از یک نقطه برای آدرس دهی فونت ها استفاده کردید. آیا نحوه آدرس دادن در فایل استایل در وردپرس با روش های عادی فرق دارد.
در واقع فکر می کنم مثل php داریم با یه نقطه url مورد نظر رو به مسیرمون رو اضافه می کنیم و این جوری وردپرس متوجه میشه که فایل در کجا قرار دارد. آیا دلیل این کار همین است (یعنی این نقطه برای concatenation استفاده می شود؟)
ممنون میشم که راهنمایی فرمایید. ممنون از لطف و محبت شما

کیوان علی محمدی

سلام دوست عزیز. در فایل های استایل ما باید از آدرس دهی relative استفاده کنیم. یک نقطه یعنی همین دایرکتوری جاری و دو نقطه هم یعنی دایرکتوری parent. حالا بسته به دایرکتوری های قالب در بخش css ها و js ها میتونیم از هر دو استفاده کنیم.نه فرق خاصی هم نداره روش آدرس دهی.

AliReza Shariyari replyپاسخ

استاد سلام
من برای عنوان تمام کد هایی که شما گفتین رو اجرا کردم و حتی کد های داخل نظرات رو هم نوشتم اما ایجاد نشد تگ title
مشکل از چی میتونه باشه؟

من کدها رو در این قسمت مینویسم اما نمایش داده نمیشه!

ورژن وردپرسم هم 4.7.3 هستش

کیوان علی محمدی

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

مسعود نظرپور replyپاسخ

سلام استاد لطفا ابدیت جدید برای انتشار محتوای سایت در کانال های تلگرام به صورت خودکار رو که در pdf لیست مباحث دوره بهش اشاره شده رو قرار بدید بیصبرانه منتظریم

Amir Zakipour replyپاسخ

سلام آقای علی محمدی. یه مشکل توی این بخش دارم اونم اینه که ارور زیر رو بهم میده توی بخش تبدیل uri هم ارور پا برجاست.
Fatal error: Uncaught Error: Call to undefined function get_header() in C:\xampp\htdocs\7learn.co\wp-content\themes\sl-theme\index.php:2 Stack trace: #0 {main} thrown in C:\xampp\htdocs\7learn.co\wp-content\themes\sl-theme\index.php on line 2

<!doctype html>
<html class="no-js" lang="">
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>طراحی حرفه ای وب سایت و قالب وردپرس</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="manifest" href="site.webmanifest">
    <link rel="apple-touch-icon" href="icon.png">
    <!– Place favicon.ico in the root directory –>
    <link rel="stylesheet" href="<br />
<b>Fatal error</b>:  Uncaught Error: Call to undefined function get_template_directory_uri() in C:\xampp\htdocs\7learn.co\wp-content\themes\sl-theme\header.php:13
Stack trace:
#0 {main}
  thrown in <b>C:\xampp\htdocs\7learn.co\wp-content\themes\sl-theme\header.php</b> on line <b>13</b><br />
کیوان علی محمدی

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

ارسال نظرات

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