我有一个用codeigniter构建的程序,并将其插入wordpress页面。我设法成功地在页眉和页脚中挂钩。它作为iframe在页面中运行。有了这个,我可以挂钩我的插件,我可以用PHP抓取wp函数,并在我的CI代码中使用它们。例如,我可以使用类似的东西:
$ current_user-> ID; $ current_user-> user_firstname;
等
我可以将这些wordpress传递给我的CI视图HTML中的值。
我现在要做的是将现有的支付宝付款按钮的WP短码添加到我的Codeigniter视图的html中。这个短代码的好处是它已经设置了回调函数来验证付款。即使我迷上了并且可以使用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结构中写这个。我知道它们是不同的,它使事情复杂化。这是我必须参与的结构。我正在努力。
答案 0 :(得分:1)
解决方案是使用:
<?php echo do_shortcode('[name_of_shortcode]'); ?>
它就像一个魅力