Поддержка Проблемы и решения Не отображается автор и некорректно отображается дата

  • Решено Acme1994

    (@acme1994)


    Всем привет.
    Подскажите из-за чего в слайдах отображаются не те даты, что в обычном новостном блоке. То есть, выводятся даты на подобии: 01-01-70.
    Скрин: Скриншот

    Код слайдера:

    <div id="slider">
                        <ul>
    						<?php $pop = $wpdb->get_results("SELECT ID, post_title, post_content, comment_count, right(post_date,8) AS date FROM
    						{$wpdb->prefix}posts WHERE post_type='post' ORDER BY comment_count DESC LIMIT 3");?>
    						<?php foreach($pop as $post): ?>
                          <li><a href="<?php the_permalink(); ?>"><img src="http://comics.ru/wp-content/themes/comics/images/banner/headerimages-<?php echo rand(1,5); ?>.jpg" alt="Preview" /></a>
                                <!-- Featured post Bubble -->
                                <div class="bubble">
                                    <div class="featured_post">
                                        <h2 class="post_title"><a href="<?php the_permalink(); ?>"><?php echo $post->post_title ?></a></h2>
                                        <p class="post_brief"><?php echo maxsite_str_word(strip_tags($post->post_content)); ?></p>
                                        <div class="post_info">
    										<span class="author">Автор: <u><?php the_author(); ?></u></span>,
    										<span class="date"> <?php the_date_xml(); ?> </span>
    									</div>
                                        <div class="post_comments">
                                            <div class="number"><?php echo $post->comment_count; ?></div>
                                            <div class="comments"><a href="<?php the_permalink(); ?>">комм.</a></div>
                                        </div>
                                    </div>
                                </div>
    						</li>
    						<?php endforeach; ?>
                           </ul>
                      </div>
                	</div>

    Так-же почему-то не отображается имя автора. Вместо имя автора — пустота. В новостном блоке — всё работает.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • потому что все это работает только для родных циклов вывода записей.
    а вы зачем-то в базу полезли.
    читайте https://codex.wordpress.org/Class_Reference/WP_Query

    Автор Acme1994

    (@acme1994)

    Еще мало понимаю в этом. Если в краце, то можете, пожалуйста, подсказать что нужно заменить в слайдере?

    Автор Acme1994

    (@acme1994)

    Что-то не могу понять как внедрить Query в слайдбар именно так, чтобы работали слайды, даты и имя автора… Помогите, кто может .

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    После строки foreach($pop as $post) попробуйте добавить:

    <?php setup_postdata( $post->ID ); ?>

    Вообще, обращение к $wpdb здесь лишнее, лучше использовать обычный дополнительный цикл:

    <div id="slider">
    	<?php $query = new WP_Query( array( 'orderby' => 'comment_count', 'order' => 'DESC', 'posts_per_page' => 3 ) ); ?>
    	<?php if ( $query->have_posts() ) : ?>
    		<ul>
    		<?php while ( $query->have_posts() ) : $query->the_post(); ?>
    			<li><a href="<?php the_permalink(); ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/banner/headerimages-<?php echo rand( 1, 5 ); ?>.jpg" alt="Preview" /></a>
    				<!-- Featured post Bubble -->
    				<div class="bubble">
    					<div class="featured_post">
    						<h2 class="post_title"><a href="<?php the_permalink(); ?>"><?php echo $post->post_title ?></a></h2>
    						<p class="post_brief"><?php echo maxsite_str_word(strip_tags($post->post_content)); ?></p>
    						<div class="post_info">
    							<span class="author">Автор: <u><?php the_author(); ?></u></span>,
    							<span class="date"> <?php the_date_xml(); ?> </span>
    						</div>
    						<div class="post_comments">
    							<div class="number"><?php echo $post->comment_count; ?></div>
    							<div class="comments"><a href="<?php the_permalink(); ?>">комм.</a></div>
    						</div>
    					</div>
    				</div>
    			</li>
    		<?php endwhile; ?>
    		</ul>
    	<?php endif; ?>
    	<?php wp_reset_postdata(); ?>
    </div>

    Автор Acme1994

    (@acme1994)

    Благодарю за помощь. Дополнительный цикл помог решить проблему.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Не отображается автор и некорректно отображается дата» закрыта для новых ответов.