За последние 24 часа нас посетили 15887 программистов и 1718 роботов. Сейчас ищут 1711 программистов ...

Как задать перемешивание постов случайным образом?

Тема в разделе "Wordpress", создана пользователем Babylon, 10 мар 2021.

  1. Babylon

    Babylon Новичок

    С нами с:
    21 июл 2019
    Сообщения:
    5
    Симпатии:
    0
    Пытаюсь вывести посты случайным образом на страницу записей, анонсы постов. Шаблон страницы в пять колонок, вроде галереи. PHP знаю плохо, прочитал, как выводить случайно, сделал так:
    Код (Text):
    1. <?php
    2.  
    3. global $query_string;
    4. query_posts( $query_string .'&cat=12&orderby=rand&posts_per_page=-1' );
    5.  
    6. ?>
    Но не знаю, куда вставить. Пробовал в шаблон сетки:
    Код (Text):
    1. <?php
    2. /**
    3. * Template part for displaying posts.
    4. *
    5. * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
    6. *
    7. * @package GridHub WordPress Theme
    8. * @copyright Copyright (C) 2021 ThemesDNA
    9. * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
    10. * @author ThemesDNA <themesdna@gmail.com>
    11. */
    12. ?>
    13.  
    14. <?php
    15.  
    16. global $query_string;
    17. query_posts( $query_string .'&cat=12&orderby=rand&posts_per_page=-1' );
    18.  
    19. ?>
    20.  
    21. <?php $gridhub_grid_post_content = get_the_content(); ?>
    22. <div id="post-<?php the_ID(); ?>" class="gridhub-grid-post gridhub-5-col">
    23. <div class="gridhub-grid-post-inside">
    24.  
    25.     <?php gridhub_media_content_grid(); ?>
    26.  
    27.     <?php if ( !(gridhub_get_option('hide_post_author_image_home')) || !(gridhub_get_option('hide_post_title_home')) || !(gridhub_get_option('hide_post_snippet')) || gridhub_is_grid_postmeta_active() ) { ?>
    28.  
    29.     <div class="gridhub-grid-post-details gridhub-grid-post-block">
    30.     <?php if ( !(gridhub_get_option('hide_post_author_image_home')) ) { ?><?php echo wp_kses_post( gridhub_author_image() ); ?><?php } ?>
    31.  
    32.     <?php if ( !(gridhub_get_option('hide_post_title_home')) ) { ?><?php the_title( sprintf( '<h3 class="gridhub-grid-post-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h3>' ); ?><?php } ?>
    33.  
    34.     <?php gridhub_grid_postmeta(); ?>
    35.  
    36.     <?php if ( !(gridhub_get_option('hide_post_snippet')) ) { ?><?php if ( !empty( $gridhub_grid_post_content ) ) { ?><div class="gridhub-grid-post-snippet"><div class="gridhub-grid-post-snippet-inside"><?php the_excerpt(); ?></div></div><?php } ?><?php } ?>
    37.  
    38.     <?php gridhub_grid_postfooter();
    39.     wp_reset_query(); // сброс запроса ?>
    40.        
    41.     <a class="zh_favorites" zh="post-<?php the_ID();?>">Добавить в избранное</a></div>
    42.  
    43.     <?php } ?>
    44.  
    45. </div>
    46. </div>
    Не получается, реакции ноль.

    Подскажите, пожалуйста.
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
  3. Babylon

    Babylon Новичок

    С нами с:
    21 июл 2019
    Сообщения:
    5
    Симпатии:
    0
    Спасибо, я уже сделал, в файл category.php добавил несколько записей. Примерно так:

    Код (Text):
    1. <?php global $query_string; ?>
    2.  
    3. <?php
    4.  
    5. if ($query_string == 'category_name=%25d0%25b8%25d0%25bd%25d0%25b2%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b4%25d1%258b') {
    6.     echo 'Инвалиды';
    7.     $the_query = new WP_Query( $query_string . '&orderby=rand' . '&numberposts=-1' );
    8. } else if ($query_string == 'category_name=%25d0%25b8%25d0%25b7%25d0%25b1%25d1%2580%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25be%25d0%25b5') {
    9.     echo 'Избранное' . $zh_posts;
    10.     $the_query = new WP_Query( array( 'post__in' => array( $zh_posts ) ) );
    11. } else {
    12.     $the_query = new WP_Query( $query_string ); echo 'Новости';
    13. }
    14.  
    15. ?>
    16.  
    17. <?php if ($the_query->have_posts()) : ?>
    18.  
    19.     <div class="gridhub-posts gridhub-posts-grid">
    20.     <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>