2015-06-03 3 views
1

Wordpress author.php не загружает корректную информацию у пользователя meta. Он загружается тот, кто в настоящее время вошли в блоге и не показывая человека, его ссылки на, например:Как загрузить User Meta?

http://www.website.com/author/username1 
http://www.website.com/author/username2 

отображает то же самое, несмотря были два разных пользователей. Я сделал то, что было задано, однако я все еще смущен тем, почему он загружает только мета-пользователя, а не мета-имя пользователя?

Это мой шаблон Автор:.

<?php get_header(); ?> 

<div class="author-name"> 
<?php echo get_the_author_meta('first_name'); ?> 
<?php echo get_the_author_meta('last_name'); ?> 
<?php echo get_user_role('user_role'); ?> 
</div> 

<div class="author-information"> 
Username: <?php echo get_the_author('user_nicename'); ?> 
</div> 

<?php get_footer(); ?> 

ответ

1

Вы должны указать идентификатор пользователя при использовании get_the_author_meta() для получения другого пользователя, чем тот, в цикле или в настоящее время вошли в систему

Предполагая username1 и username2 являются фактическими именами пользователей в таблице базы данных пользователей, вы можете получить имя пользователя из URL-адреса, используя следующий фрагмент:

$username_from_url = basename(get_permalink()); 

И потом:

$user = get_user_by('login', $username_from_url); 

Теперь у вас есть полный $user объект с идентификатором и все.

Edit: комплексное решение

посещения пользователю URL со следующим рисунком /page/somename где somename соответствует весовую user_nicename в таблице базы данных users.

<?php 
    $username_from_url = basename(get_permalink()); 
    $user = get_user_by('slug', $username_from_url); 

    echo get_the_author_meta('first_name', $user->ID); 
    echo get_the_author_meta('last_name', $user->ID); 

    foreach ($user->roles as $role) { 
     // You can also use get_role($role) to get more data on the role 
     echo $role; 
    } 

    echo __("Username:") . " " . $user->user_nicename; 
?> 
+0

Можете ли вы поместить это в свой код выше в качестве примера, как я пробовал, и он не работает, я, возможно, делаю что-то простое совершенно неправильно, иногда требуется другой мозг, чтобы забрать мой, как только я увижу demo плохо знаю, что я делаю неправильно – user3348182

+0

Абсолютно, все готово. –

+0

Он по-прежнему не работает:/не уверен, почему его трудно редактировать набухать, поскольку его ломают мои мозги на прошлой неделе. Я проделал чистую установку Wordpress и уничтожил базу данных, поскольку я думал, что это могло быть в какой-то момент, но его нет, приведенный выше код по-прежнему не получает данные, которые не уверены, почему – user3348182

Смежные вопросы