Я думаю, я думаю, что вы пытаетесь сделать, и кажется, что вы делаете это неправильно. Не создавайте «новую страницу» в интерфейсе администратора. То, что вы хотите сделать, это подать файл (JSON, фрагмент XHTML, что угодно) в ваш Javascript и включить в него данные WP, верно? Я знаю эту проблему, использовав ее в некоторых моих плагинах.
Есть две техники:
(1) Это то, что вам нужно сделать: создать новый плагин (просто свободный php-файл в wp-плагинах с тем же форматным заголовком, что и другие плагины там). Напишите свою функцию по следующим направлениям:
function mydatapage(){
if (...$_SERVER['REQUEST_URI'] == the one I am using ...) {
$args=array(
'p'=>'77'
);
$friends = new WP_Query($args);
if ($friends->have_posts()) :
the_post();
the_title();
the_content();
else:>?
<p>Sorry, no posts are available.</p>
<?php endif;
die();
} //else do nothing and leave WP to serve the page normally
}
//Crucially:
add_action('init', 'mydatapage');
Что делает, так это выполняет поиск при загрузке страниц, чтобы увидеть, совпадает ли URL с тем, который вы хотите перехватить и использовать для отправки ваших пользовательских данных. Если это так, вы отправляете данные / файл / что хотите и выходите (умираете).
Дайте крик, если вы хотите более подробный синтаксис. Это немного грязно, но хорошо работает.
(2) Прямой вызов вашего файла плагина. WP будет обрабатывать только файлы, которые еще не существуют, а остальное оставит Apache. Это означает, что вы можете создать файл плагина и вызывать его напрямую, используя ... / wp-plugin / myfile.php url. Вам нужно будет включить некоторые из основных файлов WP, чтобы заставить работать такие вещи, как WP_Query. Это немного более хрупкий метод.