加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 从短代码函数内部调用WordPress get_template_part首先渲

发布时间:2020-12-13 16:39:49 所属栏目:PHP教程 来源:网络整理
导读:我有一个页面,我需要允许用户输入一段文字.然后在该文本之后,插入一个将显示帖子列表的短代码,然后添加更多的自由格式的文本.我的想法是他们应该能够插入一个短码,这将输出帖子.这样,他们可以简单地添加短代码,希望帖子出现. 我目前拥有检索自己文件中分隔的
我有一个页面,我需要允许用户输入一段文字.然后在该文本之后,插入一个将显示帖子列表的短代码,然后添加更多的自由格式的文本.我的想法是他们应该能够插入一个短码,这将输出帖子.这样,他们可以简单地添加短代码,希望帖子出现.

我目前拥有检索自己文件中分隔的帖子的逻辑.目前我只需使用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脚本来返回帖子.

有人在这里做过吗?

你可以尝试这个,它可能会解决你的问题,因为get_template_part基本上像PHP的需求做出反应,它不会返回,而是立即回到被调用的内容.
add_shortcode('donation-posts',$content)
{        
    ob_start();  
    get_template_part('donation','posts');  
    $ret = ob_get_contents();  
    ob_end_clean();  
    return $ret;    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读