我有一个页面,我需要允许用户输入一段文本。然后在该文本之后,插入一个将呈现帖子列表的短代码,然后添加更多自由格式的文本。我的想法是他们应该能够插入一个短代码来输出帖子。这样他们就可以简单地在他们希望帖子出现的地方添加短代码。
我目前有检索在其自己的文件中分隔的帖子的逻辑。目前,我只需使用以下get_template_part()
功能将其包含在页面中:
get_template_part('donation', 'posts');
我研究了如何创建简码并将以下代码包含到我的functions.php
文件中以创建简码:
add_shortcode('donation-posts', 'fnDonatePosts');
function fnDonatePosts($attr, $content)
{
get_template_part('donation', 'posts');
}
正在正确执行并且donation-posts.php
帖子正在出现,但是,它们始终位于内容之前,而不是放置短代码的位置。
我尝试删除该get_template_part()
功能并仅输出一些文本,并且效果很好。所以我知道这get_template_part()
可能不是正确的方法,但是,我无法找到一种方法来做我想做的事情(我相信有一种方法......我只是没有'没找到)。
我试过了:
include(get_template_directory(). '/donation-posts.php');
include_once(get_template_directory(). '/donation-posts.php') :
但是一旦它们命中包含文件中的 PHP 代码,它们就会停止处理。
我也试过:
$file = file_get_contents(get_template_directory(). '/donation-posts.php');
return $file;
但这仅返回文件的内容(如函数名称所示),这意味着它不会执行PHP 脚本来返回帖子。
以前有人做过吗?