RinaSaz32 04.02.2023 22:49

Как создать пользовательскую страницу для отображения записей одного автора?

Здравствуйте!

У меня возникла проблема при создании пользовательской страницы для отображения записей только одного автора на моем сайте 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(); ?>

Однако, когда я применяю этот шаблон к странице, ничего не отображается. Я не могу понять, в чем проблема. Может быть, я что-то упустил или неправильно настроил? Буду благодарна за любую помощь и подсказки по данному вопросу!

Заранее спасибо!

Ответы:

Anton1980 04.02.2023 23:13

Проблема, которую ты описал, может возникать по нескольким причинам. Давай разберемся, что могло пойти не так и как ее решить.

Во-первых, убедись, что ты правильно указал автора в аргументе $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', что может быть более надежным вариантом.

Надеюсь, это поможет решить твою проблему! Если у тебя возникнут еще вопросы, не стесняйся задавать.

Удачи!


Добавить ответ