Вывод списка постов автора
Подскажите пожалуйста. Хочу вывести список постав у автора.
Вот так выдаю его Коментарии. Подскажите как сделать
if ( is_user_logged_in() ) {
$user_id = get_current_user_id();
}
$args = array(
'number' => '',
'orderby' => 'comment_date',
'order' => 'DESC',
'type' => '', // только комментарии, без пингов и т.д...
'user_id' => $_GET['uid'] // ID пользователя //тот кто авторизован
);
if( $comments = get_comments( $args ) ){
echo '<ol>';
foreach( $comments as $comment ){
$comm_link = get_comment_link( $comment->comment_ID ); $comm_short_txt = mb_substr( strip_tags( $comment->comment_content ), 0, 150 ) .'...';
echo '<li>'. '<span class="color-pf-green">' . $comment->post_title .' :</span>'.'<pre><i class="fa fa-comments-o color-pf-ser"></i> <a rel="nofollow" href="'. $comm_link .'">'. $comm_short_txt .'</a></pre></li>';
}
echo '</ol>';На данный момент пробываю вот так
/* =здесь определяем текущего пользователя= */
$user_ID = get_current_user_id();
$user = get_userdata($user_ID);
$autor_for_post = $user->get('user_login');
$args = array(
'autor' => $user_ID,
'orderby' => 'title',
'order' => 'ASC'
);
query_posts($args);
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$permalink = get_the_permalink();
$the_title = get_the_title();
echo "<a href=\"".$permalink."\">".$the_title."</a>";
echo '</br>';
endwhile;
endif; Уточняйте вопрос, вам всего лишь нужно вывести посты автора?
Или посты того, кто оставил комменты?
Или посты юзера, который залогинен на сайте?
Вывод списка постов, там где $user_id, можно взять id автора из GET запроса, как у вас было $_GET['uid']:
$user_id = get_current_user_id(); $args = array( 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'author' => $user_id ); $posts = new WP_Query($args); if ($posts->have_posts()) { echo '<ol>'; while ($posts->have_posts()) { $posts->the_post(); echo '<li>' . $post->post_title . ' - ' . get_user_by('id', $post->post_author)->display_name . '</li>'; } echo '</ol>'; } else { // Постов не найдено } wp_reset_postdata();Спасибо большое. Но почему-то выдает только 6 постов, а их больше
добавьте в $args
что бы вывести все посты
спс
а как это сделать виде ссылке на статью?
echo '<li>' . $post->post_title . ' - ' . get_user_by('id', $post->post_author)->display_name . '</li>';Получилось сделать
echo '<li><a href="' . get_permalink() .'" >' . $post->post_title . get_user_by('id', $post) . '</a></li>';Если вам нужно вывести записи какого-то автора - тогда
используйте get_posts()
$author_id = 1; $posts_by_author = get_posts([ 'author' = $author_id ]); foreach ( $posts_by_author as $post ) { setup_postdata( $post ); ?> здесь вывод нужного текста <?php } wp_reset_postdata();Спасибо большое. Но почему-то выдает только 6 постов, а их больше
https://wp-kama.ru/function/wp_query
почитайте, изучите параметры
которые может принимать функция.
get_posts - их также принимает.
https://wp-kama.ru/function/wp_query#pagination
Спасибо изучаю и там и в другом месте. путаюсь.
Спасибо что подсказываете. Я разными способами побываю на примерах.