繁体   English   中英

将页面模板加载到简码中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM