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

ساخت منو های متفاوت

در این مرحله از آموزش ابتدا باید منوهای متفاوت برای اعضا و کاربران خارجی می سازیم. یک منو به نام logged-in برای اعضای وارد شده و یک منو به نام logged-out برای کاربران خارجی می سازیم و منوهای دلخواه را داخل آن میچینیم.

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

function my_wp_nav_menu_args( $args = '' ) {

if( is_user_logged_in() ) { 
	$args['menu'] = 'logged-in'; // نام منو برای کاربران وارد شده
} else { 
	$args['menu'] = 'logged-out'; // نام منو برای کاربران خارجی
} 
	return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

بعد از ذخیره کردن فایل و بارگذاری مجدد سایت، خواهید دید که منو logged-in برای کاربران وارد شده و منو logged-out برای کاربران خارجی نمایش داده می شود.

با استفاده از این متد می توانید از دو منو به صورت همزمان در حالات مختلف استفاده کنید. البته برای انجام این کار روش های ساده تر دیگری مثل افزونه If Menu و …. وجود دارد که کار شما را خیلی راحت تر خواهد کرد

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

در صورت داشتن هر سوالی می تونید واسم دیدگاه بزارین

موفق و موید باشید

مدرسه وردپرس

5 دیدگاه برای “نمایش منوی متفاوت برای اعضای سایت

  • بهاران
    - ۷ اردیبهشت , ۱۳۹۳

    سلام خیلی مطلب جالبی بود. همچنین ممنون برای معرفی افزونه

    • الناز
      - ۷ اردیبهشت , ۱۳۹۳

      سلام بهاران جان. خواهش می کنم
      موفق باشی

  • فرهاد
    - ۲۰ مرداد , ۱۳۹۳

    سلام دوستان
    یه سری به سایت من بزنین
    من می خوام به داشبورد اعضای سایتم امکانی اضافه بشه که بتونن عکس پروفیل و یه سری مشخصات شخصی هم بهش اضافه بشه
    چی کار کنم؟ افزونه بهتری سراغ دارین؟
    از sb-login استفاده می کنم
    ممنون…

  • زهره
    - ۲۸ آبان , ۱۳۹۳

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

    • الناز بیک زاده
      - ۳ آذر , ۱۳۹۳

      سلام زهره جان. شما می تونید برای این کار از شرط is_user_logged_in() استفاده کنید که اگر کاربر لاگین شده نام کاربریشو نشون بده. در فایل header.php

دیدگاه خود را بیان کنید

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

-- بارگیری کد امنیتی --