[英]Loading page template into shortcode
我正在尝试将页面模板加载到简码中,以便可以在任何位置轻松加载内容。
我做了一些研究,很多人说这段代码对他们有用,但是由于某种原因,这似乎无法正确加载我的模板,因为我只能得到一个空白页。
我知道短代码正在执行,因为它不会显示为纯文本,因此我猜测加载模板的方式存在问题。
任何帮助深表感谢 。
public function register(){
add_shortcode( 'sponsor_main_page', array($this,'my_form_shortcode') );
$RegistrationFormId = esc_attr( get_option( 'ik_form_id' ) );
}
function my_form_shortcode() {
ob_start();
get_template_part( 'template-sponsors.php' );
return ob_get_clean();
}
尝试更准确地解释您要做什么。 您将此代码放在哪里? 您的模板包含什么,目的是什么?
首先使用get_template_part必须删除.php
而且我不知道您要加载哪种类型的模板。 您的代码似乎想要将变量传递给模板。 而且此代码似乎是Class的方法。
也许您只是将此代码放在functions.php上,这就是为什么您会得到空白页的原因。
尝试在functions.php上使用此代码
add_shortcode('my-shortcode', 'display_my_template');
function display_my_template() {
ob_start();
get_template_part( 'template-sponsors' );
return ob_get_clean();
}
然后,您可以在页面中使用简短代码,例如[my-shortcode]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.