Intereting Posts
Зачем мне нужно регистрировать свой пользовательский тип сообщения во второй раз при покраске правил перезаписи? Википедия – CMS Получить несколько ролей с помощью get_users Исключить из поиска все пользовательские сообщения, которые НЕ относятся к таксономии MetaBox с редактором вместо textarea – html не сохранен Перенаправление на страницу, если предки пусты Поверните URL-адрес в предварительный просмотр содержимого Загрузка таблицы стилей shortcode только в том случае, если shortcode находится в текстовом виджете Добавить изображение в RSS-плагин с другого RSS Удалить липкое поведение из верхней навигации по двадцать четырнадцати темам? Получение значений id id и передача их с помощью jQuery Включить персонализированный тип сообщения в "все сообщения" Постоянная ссылка для настраиваемого типа сообщений – с шаблоном страницы (пользовательский запрос) и архивом таксономии Эффективность wp_options по сравнению с новой таблицей Добавить разделитель в подменю admin

Как правильно создать цикл WordPress?

Передо мной задача составления списка заголовков, под заголовками, все записи перечислены в количестве 9 штук, если больше, то нужна цифровая разбивка на страницы. Нажимая на ссылку рубрики, записи сортируются, а нумерация для нового списка изменяется соответствующим образом. Первоначально была выполнена сортировка Ajax, но в будущем при добавлении разбивки на страницы она не учитывает уже отсортированные записи, и по какой-то причине изначально невозможно напечатать только 9 записей на странице, все сразу выводится. Может ли кто-нибудь сказать мне, как это сделать, желательно с примером. И хотя WordPress низкий.

blog.php

<form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php" method="POST" id="filter"> <section class="portfolio-banner"> <div class="container"> <h2>Блог компании</h2> <span>Думаем и размышляем</span> <ul class="p-list"> <?php if( $terms = get_terms( 'category', 'orderby=name' ) ) : foreach ($terms as $term) : echo '<li data-termid="'. $term->term_id .'">' . $term->name . '</li>'; endforeach; endif; ?> </ul> </div> </section> <section class="may blog"> <div class="container"> <div class="projects" id="response"> <?php $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; $args = array('posts_per_page' => 9, 'paged' => $paged); $custom_query = new WP_Query( $args ); while($custom_query->have_posts()) : $custom_query->the_post(); ?> <div class="project"> <a href="<?php echo get_permalink(); ?>"><div class="project-img" style="background: url('<?php echo get_the_post_thumbnail_url(); ?>')"></div></a> <p class="may-title"><?php the_title(); ?></p> <p class="may-annotice"><?php the_excerpt(); ?></p> <p class="post-date"><?php the_date('d/m/Y'); ?></p> </div> <?php endwhile; ?> </div> <?php if (function_exists("pagination")) { pagination($custom_query->max_num_pages); } ?> </div> </section> <input type="hidden" name="action" value="myfilter"> </form> 

functions.php

  function pagination($pages = '', $range = 4) { $showitems = ($range * 2)+1; global $paged; if(empty($paged)) $paged = 1; if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if(!$pages) { $pages = 1; } } if(1 != $pages) { echo "<div class=\"pagination\"><span>Page ".$paged." of ".$pages."</span>"; if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo; First</a>"; if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo; Previous</a>"; for ($i=1; $i <= $pages; $i++) { if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a>"; } } if ($paged < $pages && $showitems < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">Next &rsaquo;</a>"; if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>Last &raquo;</a>"; echo "</div>\n"; } } function true_filter_function(){ // для таксономий if(!empty($_POST['foliocat'])) : $args['tax_query'][] = array( 'taxonomy' => 'folio_cat', 'field' => 'id', 'terms' => $_POST['foliocat'] ); endif; if(!empty($_POST['postcat'])) : $args['tax_query'][] = array( 'taxonomy' => 'category', 'field' => 'id', 'terms' => $_POST['postcat'] ); endif; $query = new WP_Query( $args ); if(!empty($_POST['foliocat'])) { if( $query->have_posts() ) : while( $query->have_posts() ): $query->the_post(); echo '<div class="project"><a href="'.get_the_permalink(get_the_ID()).'"><div class="project-img" style="background:url('.get_the_post_thumbnail_url().')"></div></a>'; echo '<span>'. get_the_title() .'</span>'; echo '<p>'. get_the_excerpt() .'</p>'; echo '<p class="post-date">'. get_the_date('d/m/Y') .'</p></div>'; endwhile; wp_reset_postdata(); else : echo 'No posts found'; endif; } if(!empty($_POST['postcat'])) { if( $query->have_posts() ) : while( $query->have_posts() ): $query->the_post(); echo '<div class="project"><a href="'.get_the_permalink(get_the_ID()).'"><div class="project-img" style="background:url('.get_the_post_thumbnail_url().')"></div></a>'; echo '<span>'. get_the_title() .'</span>'; echo '<p>'. get_the_excerpt() .'</p>'; echo '<p class="post-date">'. get_the_date('d/m/Y') .'</p></div>'; endwhile; wp_reset_postdata(); else : echo 'No posts found'; endif; } die(); } add_action('wp_ajax_myfilter', 'true_filter_function'); add_action('wp_ajax_nopriv_myfilter', 'true_filter_function'); 

main.js

  $('#filter .p-list li').click(function(){ var that = this; var filter = $("#filter"); var datas = { action: 'myfilter' }; if($('section').is('.may.blog')){ datas['postcat'] = jQuery(that).data("termid"); }else{ datas['foliocat'] = jQuery(that).data("termid"); } console.log(datas); $.ajax({ url:filter.attr('action'), data: datas, // данные type:filter.attr('method'), // тип запроса beforeSend:function(xhr){ filter.find('#response').text('Загружаю...'); }, success:function(data){ $('#response').attr("data-curcat", jQuery(that).data("termid")); $('#response').html(data); } }); }); 

Что я делаю не так?

Solutions Collecting From Web of "Как правильно создать цикл WordPress?"