php in a shortcode 时间:2015-11-05 作者:Chris Pink 我在大型网站上遇到的一个主要问题是模板的数量。所以我想我可以使用一个短代码调用页面中的可选页脚。function trainer_footer( ){ get_footer(\'rctrainer\'); } add_shortcode( \'trainer\', \'trainer_footer\' ); 这是可行的。但有两个问题;侧边栏trainer的内容显示在内容的顶部,而不是短代码的位置。为什么?我读过,把PHP写进这样的短代码不是一个好主意。为什么? 2 个回复 SO网友:s_ha_dum 首先,get_footer() 旨在加载页面级模板文件,而不是发布级模板文件。您应该使用get_template_part()取而代之的是短代码在上作为筛选器执行the_content. 根据所有过滤器的规范,他们应该return 内容,而不是echo 信息技术echoingcontent将产生您所看到的效果。显然,您正在加载的模板文件使用的是短代码将字符打印到屏幕上,而不是return按应该的方式排列字符串我不知道你在哪里读到过关于短代码和PHP的内容,但这有点胡说八道,至少在你介绍的情况下是这样。短代码实际上都比echo staticstrings——例如,看看核心库的短代码。要做到这一点,需要PHP SO网友:Bruno Cantuaria 可能是因为没有闭合的div或CSS。您必须检查页面的源代码。有一种很好的做法(也是为了避免问题)是返回短代码内容,而不是直接输出它(这是get\\u footer()所做的)。除此之外,我真的不认为你应该用短码来称呼页脚。我可以看到很多比这更好的方法:使用元字段、页面模板,甚至使用基本的ID比较。 文章导航