[英]Dynamically edit/add menu item - Wordpress
如果用戶未登錄,我想相應地更改項目的菜單標簽。 如果用戶未登錄,我要顯示“登錄”,如果用戶是admin,我要顯示“管理”頁面,如果普通用戶已登錄,我要顯示“我的資料”頁面。
我已經嘗試過此代碼。
add_filter( 'wp_nav_menu_items', 'dynamic_label_change', 10, 2 );
function dynamic_label_change( $items, $args )
{
if (!is_user_logged_in() && $args->theme_location == 'topbar_navigation')
{
$items = str_replace("Login", "Profile", $items);
}
return $items;
}
如果要添加新菜單項,則下面的代碼將有所幫助。
// Add Login / Logout menu item dynamically to primary navigation menu
function custom_menu_links( $items, $args ) {
if ($args->theme_location == 'primary'){
if (is_user_logged_in()) {
$items .= '<li><a href="'. wp_logout_url(home_url()) .'">Logout</a></li>';
} else {
$items .= '<li><a href="'. site_url('wp-login.php') .'">Login</a></li>';
}
}
return $items;
}
add_filter( 'wp_nav_menu_items', 'custom_menu_links', 10, 2 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.