将页面模板加载到短代码中

问题描述 投票:0回答:1

我正在尝试将页面模板加载到短代码中,以便我可以轻松地将内容加载到我想要的任何位置。

我已经做了一些研究,很多人都说这个代码对他们有效,但由于某种原因,这似乎并没有加载我的模板,因为我只是得到一个空白页面。

我知道短代码正在执行,因为它没有显示为纯文本,所以我猜我加载模板的方式有问题。

任何帮助深表感谢 。

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();
    }
php wordpress composer-php shortcode
1个回答
0
投票

试着更准确地解释你想要做什么。你把这个代码放在哪里了?您的模板包含什么以及它的用途是什么?

首先使用get_template_part,您必须删除.php

我不知道你想加载什么类型的模板。您的代码似乎想要将变量传递给模板。而这段代码似乎是一个类的方法。

也许你只是把这个代码放在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]一样

© www.soinside.com 2019 - 2024. All rights reserved.