function true_load_posts(){
$args = unserialize( stripslashes( $_POST['query'] ) );
$args['paged'] = $_POST['page'] + 1; // следующая страница
$args['post_status'] = 'publish';
$args['post_type'] = 'event';
query_posts( $args );
// если посты есть
if( have_posts() ) :
echo "<div>посты есть</div>";
else :
echo "<div>постов нет</div>";
endif;
die();
}
//1 - получить id вложения и локальный путь к файлу
$atach_id = get_post_meta(get_the_ID(), 'test_file', true); // надеюсь там просто число а не массив
$local_path = get_post_meta($atach_id, '_wp_attached_file', true);
//2 - получить каталог вложений
$upload_dir = wp_upload_dir();
$basedir = $upload_dir['basedir'];
//3 - собрать путь к вложению
$fn = $basedir . '/' . $local_path;
...
// отправляем в поток
readfile($fn);
//readfile($fn);
echo get_post_meta(get_the_ID(), 'test_file', true);
readfile( get_post_meta(get_the_ID(), 'test_file', true));
Судя по тому, что Вы пишите , Вы не до конца понимаете код
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
Этот код говорит - "Если страниц с постами больше одной, тогда ..." - Тогда следует отображать надпись "загрузить еще". Когда вы поменяли знак , вы указали коду отображать ее постояно. Вот она и показалась. А посты не подгружались, как я думаю, потому, что их больше нет для второй и дальше страниц.
Когда-же Вы указали
то это означает, что запрос будет будет всегда возвращать некоторое количество постов с типом "event" невзирая ни на какую пагинацию.
Откройте и внимательно изучите объект WP_Query и как с ним работать
Вот богатый ресурс
Настоятельно рекомендую