2017-12-15 13 views
1

私はcodeigniterに組み込まれたプログラムを持っていて、それをwordpressページに差し込んでいます。私は正常にヘッダーとフッターにフックすることができました。ページ内でiframeとして実行されています。これで私はプラグインでフックすることができ、PHPでwp関数を取得してCIコードで使用することができます。例えば、私は次のようなものを使用することができます:CodeigniterビューでWPショートコードを使用する

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

など

私はCIビューのHTML内の値にこれらのワードプレスを渡すことができます。

私が今したいのは、私のCodeigniterビューのhtmlにpaypal支払いボタン用の既存のWPショートコードを追加することです。この短いコードの良い点は、支払いを確認するコールバック関数が既に設定されていることです。私が夢中になっていて、PHP関数を使用することはできますが、HTMLにshortcodeを配置するだけでは、このトリックはできません。私は体がWPのページとして見られないのでこれがあると思う。 WPにフックされると、私のコードシニターアプリケーションで既存の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の機能の多くを得る、私は、pを使用することができますhp関数、およびテンプレート属性がCIビューに渡されますが、私はまだショートコードを使用できません。どのようにこの作品を作るためのアイデアですか?

なぜ私はWP内でCodeigniterを使用しているのか、なぜ私はWP構造内にこれを書かなかったのか尋ねないでください。私は彼らが違っていて、事を複雑にしていることを理解しています。これは私が働かなければならない構造です。私はそれを働かせるようにしています。

答えて

0

ソリューションを使用することです:

それは魔法のように動作
<?php echo do_shortcode('[name_of_shortcode]'); ?> 

関連する問題