在短码中包含模板

时间:2014-02-13 作者:jogesh_pi

我正在创建显示引用的插件。

public function qt_shortcodez() {

        $QT_Options = get_option("qt_settings");

        $Form = \'<table>
                        <tbody>
                            <tr>
                                <td><label>Company Name <span class="text-error">*</span></label></td>
                                <td><input type="text" name="username" id="username" /></td>
                            </tr>
                            <tr>
                                <td><label>Phone <span class="text-error">*</span></label></td>
                                <td><input type="text" name="username" id="phone" /></td>
                            </tr>
                            <tr>
                                <td><label>Email</label></td>
                                <td><input type="text" name="username" id="email" /></td>
                            </tr>
                        </tbody>
                    </table>\';

        return $Form;

 }
但它比这个更大($Form), 有没有办法将模板用于短代码?喜欢

public function qt_shortcodez() {

        $QT_Options = get_option("qt_settings");

        // I tried but it is not working :(
        include( sprintf(\'%s/template/shortcode.php\', dirname(__FILE__)) );            
 }

1 个回复
最合适的回答,由SO网友:tfrommen 整理而成

我不太确定这是您想要做的,但是,这是一种使用外部模板文件进行短代码输出的方法。

这是您的短代码函数(例如,在functions.php):

function qt_shortcodez() {
    return include \'template/shortcode.php\';
} // function qt_shortcodez
这就是输出(即。,shortcode.php):

<?php
ob_start();
?>
<strong>Hi there!</strong>
<p>
    This is an include test for shortcodes...
</p>
<?php
return ob_get_clean();

结束

相关推荐

shortcode in a custom metabox

我正在尝试将插件中的短代码添加到我的自定义元数据库中。我已经读过,这不是我要做的事情,但在这种情况下,我确实需要它来工作。客户端可能不会添加视频,但可能会向其中添加图像,或者需要一些东西来确保它仍然可以用于标准内容。我遇到的问题是,它只输出这样的短代码-[youtube id=“vfGZZJnoJ0U”]我曾尝试向我的metabox中添加过滤器,但仍然显示了这一点。这是我的自定义metabox设置:add_action(\'add_meta_boxes\', \'testimonials_meta_box