همانطور که می دانید توسط تابع wp_nav_menu می توانید یک فهرست یا منو را در پوسته وردپرسی خود نمایش دهید .

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

شاید شما بخواهید همیشه یک یا چند لینک را به صورت ثابت در منو نمایش دهید . برای اینکار می توانید از پارامتر items_wrap در آرایه ارسال شده به تابع wp_nav_menu استفاده کنید .

 

<nav>
<?php wp_nav_menu(array(
'theme_location' => 'my_menu_location',
'items_wrap' => my_nav_wrap()
)); ?>
</nav>

 

و کد تابع اضافه کننده لینک ثابت :

 

function my_nav_wrap() {
// default value of 'items_wrap' is <ul id="%1$s" class="%2$s">%3$s</ul>'
// open the <ul>, set 'menu_class' and 'menu_id' values
$wrap = '<ul id="%1$s" class="%2$s">';
// get nav items as configured in /wp-admin/
$wrap .= '%3$s';
// the static link
$wrap .= '<li class="my-static-link"><a href="#">My Static Link</a></li>';
// close the <ul>
$wrap .= '</ul>';
// return the result
return $wrap;
}

 

همچنین شما می توانید بر اساس شرط های خاصی ، لینک های موردنظرتان را به منو اضافه کنید .

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

 

function my_nav_wrap() {
// checks if there is an item in the cart
// returns default items + cart link if there is
// returns default items if the cart is empty
if (sizeof(WC()->cart->get_cart()) != 0) {
$wrap = '<ul id="%1$s" class="%2$s">';
$wrap .= '%3$s';
$wrap .= '<li class="cart">';
$wrap .= '<a href="' . WC()->cart->get_cart_url() . '"> class="cart_totals">';
$wrap .= WC()->cart->get_cart_total();
$wrap .= '</a>';
$wrap .= '</li>';
$wrap .= '</ul>';
} else {
$wrap = '<ul id="%1$s" class="%2$s">%3$s</ul>';
}
return $wrap;
}