在Codeigniter视图中使用WP短代码

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

我有一个用codeigniter构建的程序,并将其插入wordpress页面。我设法成功地在页眉和页脚中挂钩。它作为iframe在页面中运行。有了这个,我可以挂钩我的插件,我可以用PHP抓取wp函数,并在我的CI代码中使用它们。所以例如我可以使用类似的东西:

$ current_user-> ID; $ current_user-> user_firstname;

等等

我可以将这些wordpress传递给我的CI视图HTML中的值。

我现在要做的是在我的Codeigniter视图的html中添加paypal付款按钮的现有WP短代码。这个短代码的好处是它已经设置了回调函数来验证付款。即使我迷上了并且可以使用php函数,只需将短代码放在HTML中就行不通。我认为这是因为身体不被视为WP页面。当我连接到WP时,如何在我的codeigniter应用程序中使用现有的WP短代码?

如果有人想知道我是如何挂钩的,这就是我创建的功能:

if (Config::WP_HEADER_FOOTER== TRUE) {
    if (substr(curPageURL(),0,-32)==$baseurl.'index.php/appointments/index/' || in_array(curPageURL(), array($baseurl,$baseurl.'?'))) {
    require('../wp-blog-header.php');

        add_filter('site_url', 'ci_site_url', 1);

        function ci_site_url() {

            include(FCPATH.'application/config/config.php');

            return $config['base_url'];
        }
        header("HTTP/1.0 200 OK");
    }
}

在视图中我将其添加到HTML的顶部:

<?php
    if (Config::WP_HEADER_FOOTER== TRUE) {
    global $current_user;
    wp_get_current_user();
?>

在页脚我添加:

<?php
    if (Config::WP_HEADER_FOOTER== TRUE) {
        get_footer();
    }   
?> 

因此,如果我在WP中启用此功能,我会获得很多WP功能,我可以使用php函数,并且模板属性会传递到我的CI视图,但是我还不能使用短代码。关于如何使这项工作的任何想法?

请不要问我为什么我在WP中使用Codeigniter,为什么我不在WP结构中写这个。我知道它们是不同的,它使事情复杂化。这是我必须参与的结构。我正在努力。

php wordpress codeigniter
1个回答
1
投票

解决方案是使用:

<?php echo do_shortcode('[name_of_shortcode]'); ?>

它就像一个魅力

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