Помогите разобраться с выводом результатов php

145
14 июня 2022, 14:10

На сайте есть цикл вывода статей из-записей. Не могу разобраться почему цикл выводит только 9 статей (всего статей 15) Как это можно настроить. Так же есть кнопка показать больше, она выводит остальные статьи но дублирует 2 предыдущие. ссылка на сайт здесь

<?php 
    $queried_post_type = get_query_var('post_type'); 
    $queried_post_term = get_query_var('term');
    $queried_post_taxonomy = get_query_var('taxonomy');
    $obj_id = get_queried_object_id();
    $post_standart = true; 
?>
    
    <?php if ($post_standart == true) { ?>
        
        <div class="block results-block">
            <div class="center-1500">
                <h1>Результаты</h1>
                <p class="description">Наши пациенты</p>
                <div class="results-nav">
                    <?php if (has_nav_menu('results')) { wp_nav_menu(array('theme_location' => 'results', 'menu_class' => 'menu-result', 'container' => false)); } ?>
                </div>
                <div class="results-list">
                    <?php
                        if (have_posts()) : while (have_posts()) : the_post(); 
                            setup_postdata($post);
                            $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large');
                            $countfoto = get_field('галерея');
                            $i = 0; 
                            foreach( $countfoto as $image ) { 
                                $i++; 
                                if ($i == 1) {
                                    $firstimage = $image['url'];
                                }
                            }
                    ?>  
                        <a href="<?php echo $firstimage; ?>" class="item" data-fancybox="result-image-<?php echo $post->ID; ?>">
                            <div class="one">
                                <div class="thumb">
                                    <img class="s-full" src="<?php bloginfo('template_directory'); ?>/php/thumb.php?src=<?php echo $large_image_url[0]; ?>&w=642&h=690&zc=1&q=90" alt="<?php the_title(); ?>" />
                                </div>
                                <span><b>Диагноз: </b><?php echo get_field('диагноз'); ?></span>
                                <span><b>Срок лечения: </b><?php echo get_field('срок_лечения'); ?></span>
                                <div class="down">
                                    <div class="left">Все фото</div>
                                    <div class="right"><?php echo get_the_date('d.m.Y'); ?></div>
                                    <div class="clear"></div>
                                </div>
                            </div>
                            <div class="two">
                                <span><b>Диагноз: </b><?php echo get_field('диагноз'); ?></span>
                                <span><b>Срок лечения: </b><?php echo get_field('срок_лечения'); ?></span>
                                <div class="description">
                                    <?php echo get_field('описание'); ?>
                                </div>
                                <div class="type"><strong>Все фото</strong></div>
                                <i>(<?php echo count($countfoto); ?>) фото</i>
                            </div>
                        </a>
                    <?php endwhile; endif; ?>
                </div>
                <?php if (  $wp_query->max_num_pages > 1 ) : ?>
                    <script>
                        var ajaxurl = '<?php echo site_url() ?>/wp-admin/admin-ajax.php';
                        var true_posts = '<?php echo serialize($wp_query->query_vars); ?>';
                        var current_page = <?php echo (get_query_var('paged')) ? get_query_var('paged') : 1; ?>;
                        var max_pages = '<?php echo $wp_query->max_num_pages; ?>';
                    </script>
                    <div class="results-loadmore">
                        <a href="#">Больше результатов</a>
                    </div>
                <?php endif; ?>
            </div>
        </div>
        <?php $gotopage = false; include 'php/ask-question.php'; ?>
    <?php } ?>
    
function resultsloadmores(){
    $args = unserialize( stripslashes( $_POST['query'] ) );
    $args['paged'] = $_POST['page'] + 1;
    wp_reset_query();
    $query = new WP_Query('post_type=post&paged='.$args['paged']);
    while ( $query->have_posts() ) {
        $query->the_post();
        setup_postdata($post);
        $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large');
        $countfoto = get_field('галерея', get_the_ID());
        $i = 0; 
        foreach( $countfoto as $image ) { 
            $i++; 
            if ($i == 1) {
                $firstimage = $image['url'];
            }
        }
    ?>
        <a href="<?php echo $firstimage; ?>" class="item" data-fancybox="result-image-<?php echo get_the_ID(); ?>">
            <div class="one">
                <div class="thumb">
                    <img class="s-full" src="<?php bloginfo('template_directory'); ?>/php/thumb.php?src=<?php echo $large_image_url[0]; ?>&w=642&h=690&zc=1&q=90" alt="<?php the_title(); ?>" />
                </div>
                <span><b>Диагноз: </b><?php echo get_field('диагноз'); ?></span>
                <span><b>Срок лечения: </b><?php echo get_field('срок_лечения'); ?></span>
                <div class="down">
                    <div class="left">Все фото</div>
                    <div class="right"><?php echo get_the_date('d.m.Y'); ?></div>
                    <div class="clear"></div>
                </div>
            </div>
            <div class="two">
                <span><b>Диагноз: </b><?php echo get_field('диагноз'); ?></span>
                <span><b>Срок лечения: </b><?php echo get_field('срок_лечения'); ?></span>
                <div class="description">
                    <?php echo get_field('описание'); ?>
                </div>
                <div class="type"><strong>Все фото</strong></div>
                <i>(<?php echo count($countfoto); ?>) фото</i>
            </div>
        </a>
        <div class="hide">
            <?php 
                $i = 0; 
                foreach( $countfoto as $image ) { 
                    $i++; 
                    if ($i > 1) {
            ?>
                <a href="<?php echo $image['url']; ?>" data-fancybox="result-image-<?php echo get_the_ID(); ?>"></a>
            <?php 
                    } 
                }
            ?>
        </div>
    <?php
    }
    die();
} 
 
add_action('wp_ajax_resultsloadmore', 'resultsloadmores');
add_action('wp_ajax_nopriv_resultsloadmore', 'resultsloadmores');
Answer 1
  1. Если нужно показывать все посты без постраничной навигации - то вставьте следующий код после строки div class="results-list"
<?php global $wp_query; ?>
<?php
        query_posts( 
                wp_parse_args(
                        $wp_query->query, ['posts_per_page' => -1]
                )
            );
?>
  1. Если нужно добавить разбивку по страница - например по 10, то вставьте следующий код после строки div class="results-list"
<?php global $wp_query; ?>
<?php
        query_posts( 
                wp_parse_args(
                        $wp_query->query, ['posts_per_page' => 10]
                )
            );
?>

фрагмент кода

$args['paged'] = $_POST['page'] + 1;
wp_reset_query();
$query = new WP_Query('post_type=post&paged='.$args['paged']);

замените на

$current_page = $_POST['page'] + 1;
$per_page = $args['per_page'];
$offset_start = 1;
$args['offset'] = ( $current_page - 1 ) * $per_page + $offset_start;
$args['paged'] = $current_page;
$query = new WP_Query($args);
  1. Также количество записей на странице управляется в админке /wp-admin/options-reading.php - "На страницах блога отображать не более"
READ ALSO
Как создать данную таблицу Html со стилями? [закрыт]

Как создать данную таблицу Html со стилями? [закрыт]

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

220
Генерация значений selectpicker из struct

Генерация значений selectpicker из struct

Есть вот такой код, который должен выводить список групп для выбораЗначения Group заполняются из mysql (вывод в консоль есть)

184
подключить open server к базе данных в mySQL Workbench

подключить open server к базе данных в mySQL Workbench

Всем приветПомогите пожалуйста решить проблему

275