Не удалось обработать php через короткий код

Я искал исправления для этого, и хотя я определенно лучше понимаю мою проблему (благодаря подобным запросам, отправленным другими), я все еще не уверен в решении.

Я пишу короткий код следующим образом:

function cup_bc_shortcode(){ $html = file_get_contents('/html/cup_bc_layout.php', true); return $html; } add_shortcode('budgetcalc', 'cup_bc_shortcode'); 

Файл 'cup_bc_layout.php' содержит html и PHP. PHP-код представляется как текст на выходе, а не обрабатывается браузером. Есть ли все-таки включить PHP-файл таким же образом?

Я ценю, что короткий код должен возвращать результат для работы, но я бы предпочел не создавать его в виде одной строки из этой функции, если я могу ей помочь.

Также я новичок в PHP, поэтому даже самые очевидные решения, возможно, ускользнули от меня.

Ваша помощь очень ценится.

Solutions Collecting From Web of "Не удалось обработать php через короткий код"

Проблема в том, что вы используете file_get_contents() который получает содержимое файла (отсюда и название)

если вам нужно визуализировать (оценивать и обрабатывать файл php), то просто используйте include() .

Но также, если ваше echo cup_bc_layout.php выдает что-то, тогда вы должны поместить include внутри буфера объектов, а затем вернуть значение, чтобы убедиться, что короткий код работает правильно.

Поэтому попробуйте следующее:

 function cup_bc_shortcode($atts,$content=NULL){ ob_start(); include('/html/cup_bc_layout.php'); $return_val = ob_get_contents(); ob_end_clean(); return $return_val; } add_shortcode('budgetcalc', 'cup_bc_shortcode'); в function cup_bc_shortcode($atts,$content=NULL){ ob_start(); include('/html/cup_bc_layout.php'); $return_val = ob_get_contents(); ob_end_clean(); return $return_val; } add_shortcode('budgetcalc', 'cup_bc_shortcode'); 

Почему бы вам не поместить код этого файла внутри функции cup_bc_shotcode() напрямую, а не вызвать отдельный файл. Или поместите код этого файла в функцию, а затем вызовите функцию внутри функции cup_bc_shotcode() .