تابع منو وردپرس wp_nav_menu

DHMENU Mega Menu Responsive And Sliding MenuDHMENU Mega Menu Responsive And Sliding Menu
DHMENU Mega Menu Responsive And Sliding Menu
DHMENU Mega Menu Responsive And Sliding Menu

تابع منو وردپرس wp_nav_menu برای نمایش نوار منو سایت مورد استفاده قرار می گیرد و روش استفاده به صورت زیر می باشد.

در تابع منو وردپرس wp_nav_menu پارامتر ورودی args اختیاری و از نوع آرایه است. پیش فرض مورد استفاده به صورت زیر است.

توضیحات این پارامتر های ورودی در تابع منو وردپرس wp_nav_menu به شرح زیر است
theme_location : (اختیاری) در اینجا موقعیت فهرست که قبلاً با تابع register_nav_menu ثبت کرده‌ایم را وارد می‌نماییم (location) در ادامه با این تابع آشنا می شوید
menu : (اختیاری) در این پارامتر می‌توانیم مستقیماً نام فهرست را که از بخش ” نمایش > فهرست‌ها ” ساخته‌ایم، وارد نماییم. مقادیر id, slug, name را قبول می‌کند.
container : (اختیاری) اگر می‌خواهید فهرست مورد نظر (ul) داخل یک div و یا nav قرار گیرد، از این گزینه می‌توانید استفاده کنید. اگر هم نمی‌خواهید فهرست‌تان داخل container قرار گیرد از مقدار false به شکل زیر می‌توانید استفاده نمایید: ‘container’ => false
container_class : (اختیاری) از این پارامتر برای تعیین کلاس مورد نظر برای container فهرست استفاده
می‌شود. مقدار پیش‌فرض: ‘menu-{menu slug}-container’
container_id (اختیاری) از این پارامتر می‌توان برای تعیین id مورد نظر برای container استفاده کرد که مقدار پیش‌فرض آن تهی است.
menu_class : (اختیاری) این پارامتر تعیین کننده نام کلاس برای ul فهرست می‌باشد. می‌توانید چندین نام را با قرار دادن یک فاصله (space) میان‌شان، برای ul فهرست‌تان تعیین نمایید.
menu_id : (اختیاری) مشخص کننده id برای ul فهرست‌تان. مقدار پیش‌فرض ‘menu-{menu slug}’
برای موارد تکراری مقدارهای menu-{menu slug}-1′ و menu-{menu slug}-2 و … ‘ اختصاص داده می‌شود.
echo : از نوع boolean بوده و وارد کردن آن اختیاری است. برای تعیین اینکه فهرست چاپ شود و یا اینکه برگردانده (return) شود. برای return کردن از مقدار ۰ استفاده کنید. مقدار پیش‌فرض ‘true’
fallback_cb : (اختیاری) این پارامتر یک نام تابع را دربر می‌گیرد که این تابع را در زمان‌هایی که فهرست ما وجود ندارد، فراخوانی می‌کند. در صورت استفاده از این پارامتر، باید تابع مورد نظرمان را نیز در فایل functions.php تعریف کنیم. مقدار پیش‌فرض: ‘wp_page_menu’
before : (اختیاری) این پارامتر تعیین‌کننده متنی است که می‌خواهید قبل از تگ a لینک‌های فهرست‌تان چاپ شود. مقدار پیش‌فرض : خالی
after : (اختیاری) تعیین‌کننده متن چاپی بعد از تگ a لینک‌های فهرست.
link_before : (اختیاری) تعیین‌کننده متن چاپی قبل از لینک‌ها.
link_after : (اختیاری) تعیین‌کننده متن چاپی بعد از لینک‌ها.
items_wrap : (اختیاری) این پارامتر شامل ترکیبی از پارامترهای دیگر است که توسط شماره مشخص شده‌اند%1$s شامل مقدار پارامتر menu_id می‌باشد. %2$s شامل مقدار پارامتر menu_class و %3$s شامل مقدار پارامتر آیتم‌های لیست می‌باشد. درصورتی که یکی از این شماره‌ها در ترکیب این دستور قرار نگیرد، آن مورد از ساختار فهرست حذف خواهد شد.
depth : از نوع integer بوده و وارد کردن آن اختیاری است این پارامتر شامل تعداد مراحلی است که آیتم‌های فهرست می‌توانند به‌عنوان زیرمنو بصورت سلسله مراتبی نمایش یابند.
مقدار صفر به معنای همه مراحل موجود می‌باشد و مقدار منفی یک لینک‌های فهرست را به صورت یک دست زیر هم نمایش می‌دهد. مقدار پیش‌فرض : صفر
walker : از نوع object بوده و وارد کردن آن اختیاری است. توجه داشته باشید در صورت استفاده باید از قبل object را تعریف کرده باشید.

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

location: اجباری و از نوع متنی است. برای شناسایی موقعیت فهرست استفاده می‌شود مقدار پیش‌فرض آن خالی است.
description : اجباری و از نوع متنی است. توضیحی برای نمایش در عنوان موقعیت فهرست در بخش “مکان‌های موجود در پوسته” می‌باشد. مقدار پیش‌فرض آن خالی است.

مثال:
می خواهیم یک نوار منو برای سایت تعریف کنیم و آن را درون فایل header.php فراخوانی کنیم
ابتدا به سیستم مدیریت وردپرس اطلاع می دهیم که ما یک نوار منو داریم(درون فایل functions.php)

حال برای استفاده از منویی که ایجاد کرده ایم در مکانی که می خواهیم منو (فهرست) را قرار دهیم با استفاده از تابع زیر نوار منو خود را فراخوانی می کنیم.

۳ پاسخ

  1. رضا می‌گه:

    ممنون از اموزش خوبتون

  2. nasir می‌گه:

    سلام. خسته نیاشد. یک سئوال داشتم.
    من موقع ارزیابی صحت کدهای html سایت(با استفاده از https://validator.w3.org) خطایی مبنی بر وجود تگ هایی با ID تکراری میده. تگها MenuItem های مربوط به منوی سایت هستند.
    توی سورس صفحه هم که چک می کنم مشخص که از هر MenuItem دوتا هستش. یکی مریوط به منوی اصلی هست و دیگری مربوط به منویی است که برای موبایل و تبلت و … ایجاد می شه. جطور میشه این مشکل رو رفع کرد که صفحه از این حیث خطایی نداشته باشه؟
    پیشاپیش از لطفتون ممنون .

  3. صبا می‌گه:

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

پاسخ دهید

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

سیزده − چهار =