WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Вывод списка постов автора

Подскажите пожалуйста. Хочу вывести список постав у автора.

Вот так выдаю его Коментарии. Подскажите как сделать

  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>';
Заметки к вопросу:
pfilan 9 дней назад

На данный момент пробываю вот так

/* =здесь определяем текущего пользователя= */
	$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;
stepan 8 дней назад

Уточняйте вопрос, вам всего лишь нужно вывести посты автора?
Или посты того, кто оставил комменты?
Или посты юзера, который залогинен на сайте?

0
pfilan
9 дней назад 22
  • 1

    Вывод списка постов, там где $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();
    pfilan 8 дней назад

    Спасибо большое. Но почему-то выдает только 6 постов, а их больше

    Bo3gyX 8 дней назад

    добавьте в $args

    'posts_per_page' => -1,

    что бы вывести все посты

    pfilan 7 дней назад

    спс

    pfilan 7 дней назад

    а как это сделать виде ссылке на статью?

    echo '<li>' . $post->post_title . ' - ' . get_user_by('id', $post->post_author)->display_name . '</li>';
    pfilan 7 дней назад

    Получилось сделать

    echo '<li><a href="' . get_permalink() .'" >' . $post->post_title .  get_user_by('id', $post) . '</a></li>';
    Комментировать
  • 2
    stepan1328 www.weblancer.net/users/stepanko/?affili...

    Хочу вывести список постав у автора.

    Если вам нужно вывести записи какого-то автора - тогда

    $author_id = 1;
    $posts_by_author = get_posts([
    	'author' = $author_id
    ]);
    foreach ( $posts_by_author as $post ) {
    	setup_postdata( $post );
    
    	?>
    	здесь вывод нужного текста
    	<?php
    }
    wp_reset_postdata();
    pfilan 8 дней назад

    Спасибо большое. Но почему-то выдает только 6 постов, а их больше

    stepan 8 дней назад

    https://wp-kama.ru/function/wp_query
    почитайте, изучите параметры
    которые может принимать функция.
    get_posts - их также принимает.
    https://wp-kama.ru/function/wp_query#pagination

    pfilan 7 дней назад

    Спасибо изучаю и там и в другом месте. путаюсь.
    Спасибо что подсказываете. Я разными способами побываю на примерах.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация