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

add_action('admin_bar_menu', 'add_menubar', 999);

function add_menubar()
{
    global $wp_admin_bar;
    $wp_admin_bar->add_menu(array('id' => 'my_menu', 'title' => 'منوی من', 'parent' => 'root-default'));
}

add_action('admin_bar_menu', 'add_link_menubar', 999);
function add_link_menubar()
{
    global $wp_admin_bar;
    $wp_admin_bar->add_menu(array('id' => 'my_menu', 'title' => 'منوی من', 'parent' => 'root-default', 'href' => 'https://dangoweb.ir'));
}

-ابتدا به وسیله‌ی اکشن به قلاب admin_bar_menu متصل می‌شویم. با استفاده از این قلاب می‌توانیم تغییرات مورد نظر خود را در منوی پیشخوان اعمال کنیم. سپس نام تابعی که قرار است تغییرات مورد نظر خود را در آن ایجاد کنیم می‌نویسیم. در اینجا نام تابع add_menubar درنظر گرفته شده است. شما می توانیم نام دلخواه خود را بنویسید.

-در مرحله بعدی تابع add_menubar را ایجاد می کنیم.

-برای ایجاد منو نیاز به یک شی در ودپرس به نام wp_admin_bar داریم که در قالب متغییر سراسری (global) در دسترس قرار می گیرد.

-پس از فراخوانی شی wp_admin_bar از متد add_menu استفاده می‌کنیم. این متد شامل یک آرایه با پارامترهای id, title, parenthref, group, meta می‌باشد. البته نیاز به تکمیل همه‌ی این پارامترها نیست!

  • id: شناسه منحصربفرد (دلخواه)
  • title: عنوان یا متن منو
  • parent: والد منوی ساخته شده (جایگاه منو)
  • href: پیوند متن
  • meta: ویژگی‌های اضافه که خود شامل آرایه‌ای با پارامترهای مختلف است.

نکته‌ای که درباره پارامتر parent باید اضافه شود، جایگاهی است که با توجه به شناسه در منوی پیشخوان مورد استفاده قرار می گیرد. به زبان ساده منوی پیشخوان دارای دو منوی جداگانه با نام‌های root-defualt و top-secondary می باشد. منوی اول شامل جایگاه‌های لوگو، لینک سایت، دیدگاه‌ها و… است. و منوی دوم مربوط به لینک پروفایل و خروج است. با استفاده از هریک از این شناسه ها و همچنین دیگر شناسه‌هایی که در منوی پیشخوان وجود دارد می‌توان جایگاه لینک ساخته شده را تغییر داد.

اگر پارامتر parent نوشته نشود و یا خالی رها شود؛ بصورت پیشفرض در شناسه root-defualt قرار می‌گیرد.

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

دیدگاه