Intereting Posts
Изменение JS-файла с данными из настроек плагина Сообщение Thumbnail URL не вытягивается на задний план div Как я могу создать функцию для получения времени видео YouTube Как разделить столбцы на два столбца? Удалить название видео с YouTube Различные размеры изображений на странице продукта, жесткие уроки не отмечены, но все еще видны обрезанные миниатюры Проблема с изображениями, которые не имеют размеров Как создать динамическую панель поиска WordPress из Predesigned Static Html Search-Bar? Миниатюры разных размеров Как заблокировать сообщение или страницу Загрузка профиля пользователя WordPress – если страница сохранена сбрасыванием файла Как добавить значок RSS / ссылку в виде виджета? У меня есть гибкая технология cloudflare, как перенаправить на https для сервера Nginx Ограничить количество виджетов в области виджетов Есть ли какой-либо плагин, который может вставлять общий контент в мои сообщения?

Невозможно получить любой контент с загруженной Ajax страницы

Когда my_file.php загружается через Ajax, я не могу получить из него какой-либо контент WordPress, даже если функции WordPress работают без генерации сообщений об ошибках. Обратите внимание, что я делаю Ajax в старой школе (новый регулярный способ сделать Ajax с WordPress слишком сложным для меня).

JS:

 var root_path; var host_address = document.location.hostname; if (host_address == '127.0.0.1') { root_path = 'http://127.0.0.1/wordpress/my_project'; var local_server = 1; } else { root_path = host_address; var local_server = ''; } var x = 'wp-content/themes/my_project/my_file.php'; if (local_server == 1) x = root_path + '/' + x; else x = 'http://' + root_path + '/' + x; $.ajax({ type: "post", url: x, data: $(this).serialize(), success: function(msg){ $( '.container' ).html(msg); } }); 

Затем в файле my_file.php:

 require_once( "../../../wp-config.php" ); 

… который дает мне доступ к функциональности WP. После этого get_categories () ничего не возвращает, но «uncategorized» и query_posts () ничего не возвращает вообще (одни и те же вызовы возвращают много категорий и сообщений с страниц без Ajax)

 $args = array( 'orderby' => 'name', 'parent' => 0 ); $categories = get_categories( $args ); // query_posts(array ( 'posts_per_page' => -1 )); while ( have_posts() ) : the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile; 

Solutions Collecting From Web of "Невозможно получить любой контент с загруженной Ajax страницы"

Правильный ответ – просто сделать AJAX правильным способом.

Внесите свой сценарий и локализуйте его, чтобы добавить путь к admin-ajax.php :

 function wpd209588(){ wp_enqueue_script( 'wpd209588_script', get_template_directory_uri() . '/js/your-script.js?ver=1.0', array( 'jquery' ) ); wp_localize_script( 'wpd209588_script', 'WPaAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action( 'wp_enqueue_scripts', 'wpd209588_scripts' ); 

В your-script.js выполните вызов AJAX:

 jQuery(document).ready(function($){ $.post( WPaAjax.ajaxurl, { action : 'wpd209588_ajax' }, function( response ){ $( '.container' ).html( response ); } ); }); 

Сопоставьте обработчик AJAX с действием, которое вы вызываете в сценарии AJAX:

 function wpd209588_ajax_function(){ global $wp_query; $args = array( 'posts_per_page' => -1 ); $wp_query = new WP_Query( $args ); while ( have_posts() ) : the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile; exit; } add_action( 'wp_ajax_wpd209588_ajax', 'wpd209588_ajax_function' ); add_action( 'wp_ajax_nopriv_wpd209588_ajax', 'wpd209588_ajax_function' );