PHP функция эхо включенного файла - PullRequest
0 голосов
/ 30 апреля 2019

Я сейчас разрабатываю плагин для WordPress.Я создал шорткод, который отображает содержимое другого html / php файла, который выглядит следующим образом:

function df_display_form()
{
    // Fetching some data with $wpdb

    // Display the data
    include_once plugin_dir_path(__FILE__) . 'markup/show-dynamic-form.php';
}

Моя проблема в том, что шорткод будет отображаться в верхней части страницы.Итак, я погуглил этот вопрос и нашел решение .Так как там написано, проблема в том, что return следует использовать вместо echo.

Так что мой вопрос: как я могу вернуть визуализированный контент из включенного файла?(не эхо).

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Попробуйте использовать выходной буфер.https://www.php.net/manual/en/function.ob-get-clean.php

function df_display_form()
{
    ob_start(); 
    // Fetching some data with $wpdb

    // Display the data
    include_once plugin_dir_path(__FILE__) . 'markup/show-dynamic-form.php';
    $out = ob_get_clean();
    return $out;
}
0 голосов
/ 30 апреля 2019

Вы должны использовать php fuction для отображения формы с помощью шорткода.

Я думаю, что у вас есть этот тип кода в файле show-dynamic-form.php.

<?php

// Some codes

?>

<form>

Form elements

</form>

Это просто отобразит ваш код в верхней части вашего поста или страницы. Правильный путь:

<?php

    // Some codes

    $variable = '<form>';
    $variable .= 'form elements';
    $variable .= '</form>';

    return $variable;

?>

Попробуйте использовать этот способ в файле dynamic-form.php, и он должен работать.

...