Неустранимая ошибка: вызов функции undefined get_post () с помощью ajax

У меня есть страница index.php с ссылкой, которая будет получать контент автора из созданной страницы (сообщения) внутри панели инструментов WordPress с именем. Я использую плагин Magnific Popup для poups. У меня есть about.php который включает в себя содержимое примерно такой страницы:

 <?php $pageid = 2; // 2 is the id of about page/post $about = get_post($pageid); ?> <div id="custom-content" class="white-popup-block" style="max-width:600px; margin: 20px auto;"> <h3><?php echo $about->post_title; ?></h3> <style> #custom-content img {max-width: 100%;margin-bottom: 10px;} </style> <div class="image-container pull-left"> <img src="<?php echo get_field( "image", $pageid ); ?>"> </div> <h4><?php echo get_field( "brief", $pageid ); ?></h4> <p> <?php echo get_field( "brief_lines", $pageid ); ?> </p> <div class="about-content"> <?php echo $about->post_content; ?> </div> </div> 

и в index.php

 <a href="<?php echo get_template_directory_uri(); ?>/about.php" class="morelink pull-left text-ajax-popup">read more</a> 

и в footer.php

 $('.text-ajax-popup').magnificPopup({ type: 'ajax', alignTop: true, overflowY: 'scroll' }); 

После щелчка по ссылке я получил эту ошибку:

Неустранимая ошибка: вызов неопределенной функции get_post ()

Есть ли файлы, которые можно включить внутри about.php ? В чем проблема?

Проблема в том, что about.php не является распознанным файлом WordPress и не загружает ни одну из реальных функций WordPress. <?php wp_header(); ?> <?php wp_header(); ?> в ваших файлах header.php самом деле загружает большинство функций WordPress, которые вы использовали для использования. Поскольку вы не вызываете get_header() или wp_header() в вашем файле about.php вас фактически нет доступа к любой из функций WordPress. Одним из решений этого было бы включение основного файла WordPress в начало вашего сообщения, которое предоставит вам такой вид доступа:

Этот файл: require('/wp-blog-header.php');

Необходимый файл находится в корневом каталоге WordPress, в том же месте, что и wp-config.php Я полагаю, что это загрузит то, что вам нужно.

Вот список файлов распознанных шаблонов .

Что делать, если …

Найдите способ использовать функцию сборки в wp_ajax чтобы получить свою страницу и вернуть ее. Тогда нет никакого дополнительного файла, не нужно требовать wp-blog-header.php и он будет удобен в вашем файле functions.php тем