2016-08-30 2 views
0

Недавно я изменил узел. И после этого я вижу ошибку. Я использовал код в Displaying Logged-In User Name in Wordpress Menu , чтобы показать имя пользователя вместо «страницы профиля». Это было нормально на предыдущем хосте. После того как я скопировал все и данные, я вижу эту ошибку в строке меню. Пользователи видят это при входе в систему. Пожалуйста, предложите средство.Отсутствует аргумент 1 для ошибки get_profile_name() после смены хоста

enter image description here

Ниже приведен код, который я usign. Это точно так же, как указано в ссылке stackoverflow, которую я опубликовал. Я создал страницу # profile_name #, как указано в ссылке.

function give_profile_name($atts){ 
$user=wp_get_current_user(); 
$name=$user->user_firstname .' '. $user->user_lastname ; 
return $name; 
} 

add_shortcode('profile_name', 'give_profile_name'); 

add_filter('wp_nav_menu_objects', 'my_dynamic_menu_items'); 
function my_dynamic_menu_items($menu_items) { 
foreach ($menu_items as $menu_item) { 
    if ('#profile_name#' == $menu_item->title) { 
     global $shortcode_tags; 
     if (isset($shortcode_tags['profile_name'])) { 
      // Or do_shortcode(), if you must. 
      $menu_item->title = call_user_func($shortcode_tags['profile_name']); 
     }  
    } 
} 

return $menu_items; 
} 
+0

Хорошо, но на данный момент может быть решение !!! –

ответ

0

Не уверен, что если вы все-таки ответ на это, но я полагал, что я ответил бы в любом случае, так как я столкнулся с этой же ошибкой с тем же фрагмент кода при попытке добавить имя пользователя в меню навигации. Я заметил, что он все еще работал, несмотря на ошибку, поэтому после игры я просто удалил $atts из функции. Таким образом, первая часть кода будет выглядеть так:

function give_profile_name(){ 
$user=wp_get_current_user(); 
$name=$user->user_firstname .' '. $user->user_lastname ; 
return $name; 
}