Ребят, вот
взял готовый скрипт который был написан уже давненько, установил и вроде как все работает, но не так как надо. Что может быть здесь не так?
Надо чтоб он выводил с одной категории, но не могу понять как это сделать.
И возможно ли сделать так, чтоб была 1 кнопка и работала на 2 функции (так как в шаблоне 2 столбика и в каждом отдельная категория) и подгружала оба
Вот под себя переделал его
Functions.php
function true_loadmore_scripts() {
wp_enqueue_script('jquery');
wp_enqueue_script( 'true_loadmore', get_stylesheet_directory_uri() . '/loadmore.js', array('jquery') );
}
add_action( 'wp_enqueue_scripts', 'true_loadmore_scripts' );
function true_load_posts(){
// News
$args = unserialize(stripslashes($_POST['query']));
$args['paged'] = $_POST['page'] + 1;
$args['post_status'] = 'publish';
$q = new WP_Query($args);
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="container">
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
<?php the_excerpt(); ?></p></div>
</div>
<?php
endwhile;
endif;
wp_reset_postdata();
die();
}
add_action('wp_ajax_loadmore', 'true_load_posts');
add_action('wp_ajax_nopriv_loadmore', 'true_load_posts');
Страница с новостями
<div class="news__right">
<?php query_posts('category__in=1&showposts=4&order=DESC'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
<?php the_excerpt(); ?>
<?php endwhile;?>
<?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>
<?php endif; ?>
<? else: ?>
<h3>
<?php _e('К сожалению, по Вашему запросу ничего не найдено.'); ?>
</h3>
<?php endif; ?>
<?wp_reset_query();?>
</div>
JS
jQuery(function($){
$('#true_loadmore').click(function(){
$(this).text('Загружаю...'); // изменяем текст кнопки, вы также можете добавить прелоадер
var data = {
'action': 'loadmore',
'query': true_posts,
'page' : current_page
};
$.ajax({
url:ajaxurl, // обработчик
data:data, // данные
type:'POST', // тип запроса
success:function(data){
if( data ) {
$('#true_loadmore').text('Загрузить ещё').before(data); // вставляем новые посты
current_page++; // увеличиваем номер страницы на единицу
if (current_page == max_pages) $("#true_loadmore").remove(); // если последняя страница, удаляем кнопку
} else {
$('#true_loadmore').remove(); // если мы дошли до последней страницы постов, скроем кнопку
}
}
});
});
});