Задать вопрос
@bond_1013
Начинающий веб-разработчик

Как привязать страницу к файлу в wordpress?

Есть файл send.php, в который нужно переходить после отправки формы. Я создал новую страницу, и в файл send.php добавил этот код:

<?php
    /*
    Template Name: Custom
    */
?>

Затем выбрал этот шаблон в свойствах. Создал поле в плагине ACF, и добавил код получения записей:

<?php 

$posts = get_field('new_post');

if( $posts ): ?>
    <?php foreach( $posts as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
                ...
        <?php endforeach; ?>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

Возникает ошибка в этой строке:

$posts = get_field('new_post');
Текст ошибки:

Fatal error: Uncaught Error: Call to undefined function get_field() in D:\OSPanel\domains\testwp\wp-content\themes\bets\send.php:122 Stack trace: #0 {main} thrown in D:\OSPanel\domains\testwp\wp-content\themes\bets\send.php on line 122

Название проверил, всё правильно. Я так понимаю что я не привязал страницу или ошибся где-то, подскажите как исправить. Спасибо!
  • Вопрос задан
  • 500 просмотров
Подписаться 1 Средний 5 комментариев
Решения вопроса 2
ssenj
@ssenj
HTML, CSS, PHP, WordPress, Bitrix
Если файл начинается так

<?php 
$posts = get_field('new_post');

...то наверно не хватает подключения функций wp_head() и wp_footer()
Ответ написан
cesnokov
@cesnokov
<head>&nbsp;</head>
Если вы обращаетесь напрямую к файлу www.name.ru/wp-content/themes/name/send.php, то вы обходите Wordpress. send.php понятия не имеет о существовании Wordpress, что исправляется добавлением в начало send.php загрузчика:
require_once("../../../../wp-load.php");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы