Intereting Posts

Как WordPress преобразует URL в $ query_string

Мой home.php показывает список (N) сообщений и << Предыдущие и Следующие >> ссылки. При нажатии, я хочу получить предыдущий / следующий список (N) сообщений с помощью Ajax. Это: я НЕ хочу загружать всю страницу. Я просто хочу получить список сообщений и добавить его в текущий.

Для этого я делаю запрос ajax и отправляю href (URL) в качестве параметра. Проблема в том, что я не знаю, как WordPress конвертирует URL в глобальный $ query_string. Я хочу повторно использовать проверенный WordPress код вместо того, чтобы писать свои собственные. Пожалуйста помоги

Например: я хочу заполнить $ query_string для этого URL-адреса: http://example.com/page/2/?location=boston

Solutions Collecting From Web of "Как WordPress преобразует URL в $ query_string"

Проверьте WP::parse_request() – к сожалению, он никогда не был предназначен для общественного использования. Вы можете попробовать это, не уверенные в последствиях:

 global $wp, $wp_the_query; // Grab the request_uri component of the referer URL. if ( ! $url = parse_url( $_GET['my_referer_parameter'] ) ) return 'Oh dear, poorly formed referer.'; // Ewww! Trick WP::parse_request by spoofing REQUEST_URI. $_SERVER['REQUEST_URI'] = $url['path'] . "?{$url['query']}"; $wp->parse_request(); $wp->query_posts(); // $wp_the_query should now be populated with posts queried by your referer. while ( $wp_the_query->have_posts() ) { $wp_the_query->the_post(); the_title(); } 

Хотя вопрос обработки ссылок интересен сам по себе, я думаю, что для варианта использования Ajax было бы более простым и надежным выводить более конкретную информацию в теле страницы как переменную JS, которую будет представлять Ajax.

wp_localize_script() текущей практикой для этого является использование wp_localize_script() для передачи данных.