Задать вопрос
@HAtan

Из за чего проблемы с Ajax на телефоне, на десктопе нету?

Есть на сайте кнопка, при нажатии на которую подгружаються новые посты, на десктопе все работает отлично, но на телефоне ломается.
Получаю ошибку :
XHR failed loading: POST URL


XHR failed loading: POST "https://test-5.vbbn.in/wp-admin/admin-ajax.php".
send @ jquery.js?ver=1.12.4-wp:4
ajax @ jquery.js?ver=1.12.4-wp:4
n. @ jquery.js?ver=1.12.4-wp:4
(anonymous) @ (index):1732
dispatch @ jquery.js?ver=1.12.4-wp:3
r.handle @ jquery.js?ver=1.12.4-wp:3


Сайт - https://test-5.vbbn.in/
Надеюсь на любую помощь. Спасибо
<div class="articles-row">
	                    <?php
	                    $args1 = array(
		                    'post_type'   => 'post',
		                    'category_name'=> 'nouvelles',
		                    'posts_per_page' => -1,
	                    );

	                    $the_query = new WP_Query( $args1 );


                        $args = array(
	                        'post_type'   => 'post',
	                        'category_name'=> 'nouvelles',
                            'paged' => 1,
                        );

	                    $the_query = new WP_Query( $args ); ?>
                    <div id="posts" data-count="<?php echo ceil( $the_query->found_posts/2);?>" style="display: contents;">
	                    <?php if ( $the_query->have_posts() ) : ?>


		                    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

                                <div class="articles-col">
                                </div>

		                    <?php endwhile; ?>


		                    <?php wp_reset_postdata(); ?>

	                    <?php else : ?>
                            <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
	                    <?php endif; ?>

                    </div>
                </div>

                    <div class="articles-button-holder">
                        <span id="load_more" class="btn btn--blue"> Charger plus </span>
                    </div>

add_action( 'wp_footer', 'my_action_javascript' );

function my_action_javascript() { ?>
	<script>
        jQuery(document).ready(function($) {
				var page = 2;

				var post_count = jQuery('#posts').data('count');

				var ajaxurl = "<?php echo admin_url('admin-ajax.php');?>"
             jQuery('#load_more').click(function () {

                 
                    var data = {
                        'action': 'my_action',
                        'page': page
                    };


                    jQuery.post(ajaxurl, data, function(response) {
                        jQuery('#posts').append(response);

                        if (post_count == page){
                            jQuery('#load_more').hide();

                        }

                        page++;
                    });
             });
        });
	</script> <?php
}



add_action( 'wp_ajax_my_action', 'my_action' );

function my_action() {
	$args = array(
		'post_type'   => 'post',
		'category_name'=> 'nouvelles',
		'paged' => $_POST['page'],
	);
$the_query = new WP_Query( $args ); ?>

	<?php if ( $the_query->have_posts() ) : ?>

	<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        .........
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@C_oO_re
ошибка в js
jQuery(document).ready(function($) {
            e.preventDefault();
				var page = 2;

				var post_count = jQuery('#posts').data('count');

				var ajaxurl = "https://test-5.vbbn.in/wp-admin/admin-ajax.php"
             jQuery('#load_more').click(function () {
                    e.preventDefault();

                    var data = {
                        'action': 'my_action',
                        'page': page
                    };


                    jQuery.post(ajaxurl, data, function(response) {
                        e.preventDefault();
                        jQuery('#posts').append(response);

                        if (post_count == page){
                            jQuery('#load_more').hide();

                        }

                        page++;
                    });
             });
        });

замени на вот это
jQuery(document).ready(function(e) {
            e.preventDefault();
				var page = 2;

				var post_count = jQuery('#posts').data('count');

				var ajaxurl = "https://test-5.vbbn.in/wp-admin/admin-ajax.php"
             jQuery('#load_more').click(function () {
                    e.preventDefault();

                    var data = {
                        'action': 'my_action',
                        'page': page
                    };


                    jQuery.post(ajaxurl, data, function(response) {
                        e.preventDefault();
                        jQuery('#posts').append(response);

                        if (post_count == page){
                            jQuery('#load_more').hide();

                        }

                        page++;
                    });
             });
        });
Ответ написан
@HAtan Автор вопроса
Понял проблему, нет доступа к незалогиненым пользователям к admin-ajax.php.
Добавил add_action('wp_ajax_nopriv_my_action', 'my_action');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы