Как создать пользовательскую страницу для отображения записей одного автора?
Здравствуйте!
У меня возникла проблема при создании пользовательской страницы для отображения записей только одного автора на моем сайте WordPress. Я хотел бы попросить помощи в решении данной задачи.
Я создал пользовательскую шаблонную страницу с названием "author-posts.php" в моей теме WordPress. В этом шаблоне я хочу отобразить все записи, автор которых является определенным пользователем.
$author_id,
'post_type' => 'post',
'posts_per_page' => -1
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Вывод записи
echo '' . get_the_title() . '
';
echo '' . get_the_content() . '
';
}
}
wp_reset_postdata();
?>
Однако, когда я применяю этот шаблон к странице, ничего не отображается. Я не могу понять, в чем проблема. Может быть, я что-то упустил или неправильно настроил? Буду благодарна за любую помощь и подсказки по данному вопросу!
Заранее спасибо!
Ответы:
Проблема, которую ты описал, может возникать по нескольким причинам. Давай разберемся, что могло пойти не так и как ее решить.
Во-первых, убедись, что ты правильно указал автора в аргументе $author_id. Это должен быть ID пользователя WordPress, а не его имя или никнейм. Чтобы узнать ID пользователя, ты можешь перейти в раздел "Пользователи" в административной панели WordPress и найти нужного пользователя. Затем проверь, что правильно передал его ID в аргумент $author_id в функции WP_Query.
Во-вторых, убедись, что у пользователя есть записи, которые соответствуют указанному ID автора. Если пользователь не опубликовал ни одной записи, то на странице ничего не будет отображаться. Также проверь, что пользователь является автором записей, а не просто соавтором или участником команды.
Кроме того, убедись, что в настройках поста установлен правильный автор. Проверь, что все посты, которые должны отображаться на странице, имеют корректного автора, совпадающего с указанным ID.
Если после всех этих проверок проблема не решена, ты можешь попробовать следующий код:
$author_posts = new WP_Query(array(
'author' => $author_id,
'post_type' => 'post',
'posts_per_page' => -1
));
if ($author_posts->have_posts()) {
while ($author_posts->have_posts()) {
$author_posts->the_post();
echo '' . get_the_title() . '
';
echo '' . get_the_content() . '
';
}
}
wp_reset_postdata();
Этот код также использует WP_Query для получения записей, автор которых соответствует указанному ID. Однако, в нем используется параметр 'author' вместо 'author_id', что может быть более надежным вариантом.
Надеюсь, это поможет решить твою проблему! Если у тебя возникнут еще вопросы, не стесняйся задавать.
Удачи!