چگونگی تعریف فهرست برای پوسته وردپرس

بعد از مدتی طولانی باز گشتیم تا یک کد بسیار کاربردی رو خدمت طراحان گرامی پوسته معرفی کنیم. همانطور که می دونید وردپرس قابلیتی داره با نام فهرست ها که به کاربر امکان مدیریت فهرست های درون قالب رو از پنلش میده. اما خوب وردپرس که قادر به شناسایی خودکار مکان فهرست ها در قالب نیست.
امروز می خواهیم نحوه معرفی و فعال سازی فهرست ها در قالب وردپرس رو توضیح بدیم.
مانند دیگر تنظیمات قالب برای فعال سازی فهرست ها هم به سراغ فایل functions.php قالب خودمون میریم. حال در مکانی مناسب از این فایل مثلا آخر اون پیش از ? > دستور زیر رو قرار میدیم:

function register_my_menus() {
register_nav_menus(
array(

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

'id' => __( 'Name Menu' ),

به جای id یک شماره یا چند حرف لاتین که معرف پوسته هست رو وارد می کنیم و به جای Name Menu یک عنوان فارسی برای فهرست. به مثال زیر توجه کنید:

'header-menu' => __( 'فهرست سربرگ' ),
'extra-menu' => __( 'فهرست اضافی' )

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

)
);
}
add_action( 'init', 'register_my_menus' );

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

<?php wp_nav_menu( array( 'theme_location' => 'id' ) ); ?>

شما می بایست به جای id اعداد یا حروفی که معرف فهرست هستند رو قرار میدیم. مثلا header-menu. به همین سادگی امکان پشتیبانی از فهرست ها رو به قالب خودمون اضافه کردیم.

نکته: دستور فوق تگ ul رو به صورت خودکار در ابتدا و انتهای فهرست می زاره و همچنین هر مورد با تگ li معرفی میشه. پس برای کارکرد صحیح فهرست ها تعریف css های فهرست باید استاندارد باشه.

نظرات و دیگر موارد
اگر این قالب را دوست دارید امتیاز دهید :
۱۷ دیدگاه نوشته شده است! می توانید دیدگاه خود را بنویسید

  1. رمضانی در آگوست 6, 2016 ساعت 12:14 ق.ظ  گفته :

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

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

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

  4. با سلام و تشکر از شما
    بنده با فهرستها مشکل دارم به این صورت که در وردپرس زمانی که دسته های سایت را به همان صورت که هست یعنی زیر دسته ها را زیر دسته ها قرار میدهم موقع ذخیره کردن فهرست بعضی از دسته ها را قبول نمیکنه و گویا فقط تعداد مشخصی از دسته و زیر دسته را قبول میکنه مثلا حدود ۵۰ عدد دسته و زیر دسته را قبول میکنه و ذخیره میشه ولی بیشتر از اون را حذف میکنه و بقیه را ذخیره میکند
    آیا راهی هست که این تعداد دسته هایی که میتوان به یک فهرست اضافه کرد را بیشتر کرد؟
    وردپرس من هم ویرایش ۴٫۴٫۱ یعنی آخرین ویرایش می باشد و از قالب صحیفه استفاده میکنم
    با تشکر

  5. این آموزش عالی بود . خیلی دلم میخواست بدونم چه جوری میشه یه فهرست جدید به پوسته اضافه کرد ؟

  6. احسنت؛
    در فانشن تعریف کرده بودم ولی کدشو تو قالب نذاشتم
    سپاس بابت آموزش
    به جای theme_location چی بذاریم؟

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

  8. سلام من همه ی این کارها رو انجام دادم ولی چیزی اضافه نشد
    من یوزر و پسورد هاست و سایتم رو بدم شما میتونی درستش کنی؟

  9. با سلام ببخشید می خواستم بدونم چطور میشه یک فایل جدید به وردپرس معرفی کرد مثلا help.php

  10. امیر در می 28, 2014 ساعت 8:01 ق.ظ  گفته :

    سلام ممنون کده کاربردی بود

    چطوری میشه ی عکس تو منو ها قرار داد؟؟

    عکسه زیر رو ببینید.. اینجوری میخوام باشه ..آیا با این کد فراخوانی میشه عکس ها؟؟

    http://axgig.com/images/98811432467100860859.png

    • باید به صورت دستی این کار رو انجام بدید.و یا کد php این امکان رو بنویسید و به صورت یک افزونه اضافه کنید به وردپرس , که این کار واقعا مشکل هست.پس همون دستی انجام بدید.

  11. سلام خسته نباشید من از وردپرس ۳٫۶٫۱ استفاده میکنم درقسمت ویرایشگر قالب کدهارا اضافه میکنم ولی گزینه ای برای ذخیره یا بروزرسانی نداره صفحه پیشخوان وارد میشم وبرمیگردم میبینم کدها ذخیره نشده اند وقالب به حالت اولیه خودشه لطفا در صورت امکان راهنماییتان را به ایمیلم ارسال کنید
    با احترام فراوان

    پاسخ شما :
    بر روی "به روزرسانی پرونده" کلیک کنید.