如何在WordPress的前端显示PHP文件内容?

时间:2022-01-08 作者:van

我和一个third party API for events, 我编写的GET请求的结果将在此URL(SDK文件夹内)呈现/显示:

https://example.com/skiddle-php-sdk-master/demo/result.php

我需要将这些结果动态地嵌入到特定的页面中,所以我使用了PHP shortcode embed plugin 允许我将文件内容回显到页面上。我使用以下方法对此进行了测试:

<?php
echo "hello world";
?>
当使用快捷代码时,这会正确显示。所以我在结果中有GET请求的结果。php文件以及使用短代码(而不是在多个位置创建/编辑模板)将php直接嵌入页面的能力。

我现在正在尝试使用:echo file_get_contentsinclude 渲染结果。使用以下代码将php文件添加到页面上:

<?php
echo file_get_contents("/skiddle-php-sdk-master/demo/result.php");
?>
但我得到一个文件路径警告:

Warning: file_get_contents(/skiddle-php-sdk-master/demo/result.php): failed to open stream: No such file or directory in /home/customer/www/example.com/public_html/wp-content/plugins/insert-php-code-snippet/shortcode-handler.php(97) : eval()\'d code on line 2
我相信这表明出于某种原因,shortcode插件期望得到结果。php文件位于插件的子目录中,但由于明显的原因,它不在插件的子目录中,也不应该在插件的子目录中。

我尝试过这样的事情:

/../../skiddle-php-sdk-master/demo/result.php
无济于事。有人能帮助我了解如何返回结果的内容吗。php使用此过程?

1 个回复
SO网友:van

显然,单引号在这个场景中是一件事,现在它会返回结果。php文件内容:

<?php
echo include(\'skiddle-php-sdk-master/demo/result.php\');
?>

相关推荐

在unctions.php中禁用特定页面的“快速编辑”

我知道如何删除WordPress页面列表中所有页面的快速编辑和/或其他页面操作。现在,我需要更具体remove certain actions from specific pages.我可以使用CSS隐藏特定页面的操作,但更愿意完全删除源代码。以下代码将删除快速编辑、编辑和beaver builder页面操作。它不是唯一的,在其他响应中多次引用:add_filter( \'page_row_actions\', \'remove_page_row_actions\', 10, 1 ); funct