ОШИБКА ВНУТРЕННЕГО СЕРВЕРА AJAX POST 500

Я только что закончил создание бесконечного цикла для моего блога WordPress. Он отлично работает на моем локальном ПК (WAMP), но когда я включил его в сеть (сервер nginx), его показ POST http://www.siteurl.com/infinite-loop.php 500 Internal Server Error

Infinite_loop.php

<?php

$infinite_loop= $_POST['pcount']; ?>

<?php require_once("/wp-blog-header.php"); ?>

<div class="x-container-fluid max width main">
<div class="offset cf">
<div class="<?php x_main_content_class(); ?>" role="main">
<?php
global $wpdb;
$args = array( 'posts_per_page' => 10, 'order' => 'DESC', 'offset'=>$infinite_loop );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>><div>
<div style="width:300px; float:left;">
<?php x_ethos_featured_index(); ?>
</div>
<div style="width:500px; float:right;">
<?php /* print $args['offset']; */ ?>
<?php x_get_view( 'ethos', '_content', 'post-header' ); ?>
<?php x_get_view( 'global', '_content' ); ?>
<?php</div>
</div>
</article>
<?php endforeach;
wp_reset_postdata(); ?></div>      <?php get_sidebar(); ?>
</div></div>

AJAX в заголовке темы

<script>
$(document).ready(function() {

var post_page_count = 10;
var height_scroll = 400;
$(window).scroll(function() {

if ($('body').height() <= ($(window).height() + $(window).scrollTop())){
post_page_count = post_page_count+10;

$.ajax({
type: "POST",
async: false,
url: "theme/infinite_loop.php",
data: {pcount:post_page_count},
success:
function(result){$("#gizinfi").append(result);
}
});
};
});
});
</script>

Я не знаю, в чем проблема. Он отлично работает на локальном ПК с WAMP, но на онлайн-сервере выдает ошибку. Может кто-нибудь, пожалуйста, помогите мне узнать, в чем проблема? Пожалуйста помоги…

-1

Решение

Для лучших практик WordPress вы должны использовать функции AJAX WordPress. Поместите это в ваш файл functions.php темы

<?php

add_action( 'wp_ajax_my_inifinte_loop', 'my_inifinte_loop' );
add_action( 'wp_ajax_my_inifinte_loop', 'my_inifinte_loop' );

function my_inifinte_loop() {

$infinite_loop= $_POST['pcount'];

?>

<div class="x-container-fluid max width main">
<div class="offset cf">
<div class="<?php x_main_content_class(); ?>" role="main">
<?php
global $wpdb;
$args = array( 'posts_per_page' => 10, 'order' => 'DESC', 'offset'=>$infinite_loop );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>><div>
<div style="width:300px; float:left;">
<?php x_ethos_featured_index(); ?>
</div>
<div style="width:500px; float:right;">
<?php /* print $args['offset']; */ ?>
<?php x_get_view( 'ethos', '_content', 'post-header' ); ?>
<?php x_get_view( 'global', '_content' ); ?>
<?php</div>
</div>
</article>
<?php endforeach;
wp_reset_postdata(); ?></div>      <?php get_sidebar(); ?>
</div>
</div>

<?phpdie();

}

?>

Чем обновить ваш JavaScript на

<script>
$(document).ready(function() {

var post_page_count = 10;
var height_scroll = 400;
$(window).scroll(function() {

if ($('body').height() <= ($(window).height() + $(window).scrollTop())){
post_page_count = post_page_count+10;

$.ajax({
type: "POST",
async: false,
url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
data: {
pcount:post_page_count,
action: 'my_inifinte_loop'
},
success:
function(result){
$("#gizinfi").append(result);
}
});
};
});
});
</script>
0

Другие решения

Я получил решение …
это проблема WordPress
Заголовок WordPress настроен на внешнюю разработку стиля плагинов.
Неправильный заголовок, поэтому я получаю ошибки 404 и 500.

Я меняю это

<?php require_once("/wp-blog-header.php"); ?>

к

require('/wp-config.php');
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();
0

По вопросам рекламы [email protected]