2013-06-11 26 views
1

所以,我已經成功地得到了安裝在我的WordPress安裝的WP-笨插件,是與固定鏈接運行:在WordPress使用笨與WP-笨

\插件\ WP-笨\ WP-代碼igniter.php

// let's use CI a bit to recover our $_GET array 
    // Nope, comment out the line below (#39) 
    //$_SERVER['PATH_INFO'] = '/ci_mods/recover_get_array/'.$query_string; 

\插件\ WP-代碼點火器\ CI \程序\ routes.php文件

// Add this in to line 41 
    $route['(:any)'] = "welcome/index/$1"; # this line is new! 

到目前爲止好,WordPress的現在又即使固定鏈接上工作 - 但我真的不知道流如何在模板中使用笨,我嘗試添加在下面給我的主題身體index.php頁面:

<?php 
// Standard index.php for twentytwelve theme 
    get_header(); ?> 

<div id="primary" class="site-content"> 
    <div id="content" role="main"> 

<?php 
     // This is where I try to access the codeigniter functions 
     $this->load->library('table'); 

     $data = array(
     array('Name', 'Color', 'Size'), 
     array('Fred', 'Blue', 'Small'), 
     array('Mary', 'Red', 'Large'), 
     array('John', 'Green', 'Medium') 
    ); 

     echo $this->table->generate($data); 
?> 


<?php if (have_posts()) : ?> 

<?php /* Start the Loop */ ?> 
<?php while (have_posts()) : the_post(); ?> 
    <?php get_template_part('content', get_post_format()); ?> 
    <?php endwhile; ?> 

    <?php twentytwelve_content_nav('nav-below'); ?> 

    <?php else : ?> 

     <article id="post-0" class="post no-results not-found"> 

     <?php if (current_user_can('edit_posts')) : 
      // Show a different message to a logged-in user who can add posts. 
     ?> 
      <header class="entry-header"> 
       <h1 class="entry-title"><?php _e('No posts to display', 'twentytwelve'); ?></h1> 
      </header> 

      <div class="entry-content"> 
       <p><?php printf(__('Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwelve'), admin_url('post-new.php')); ?></p> 
      </div><!-- .entry-content --> 

     <?php else : 
      // Show the default message to everyone else. 
     ?> 
      <header class="entry-header"> 
       <h1 class="entry-title"><?php _e('Nothing Found', 'twentytwelve'); ?></h1> 
      </header> 

      <div class="entry-content"> 
       <p><?php _e('Apologies, but no results were found. Perhaps searching will help find a related post.', 'twentytwelve'); ?></p> 
       <?php get_search_form(); ?> 
      </div><!-- .entry-content --> 
     <?php endif; // end current_user_can() check ?> 

     </article><!-- #post-0 --> 

    <?php endif; // end have_posts() check ?> 

    </div><!-- #content --> 
</div><!-- #primary --> 

舉一個簡單的測試,訪問codeigniters功能,但它不能正常工作並在ci代碼執行的地方打破了頁面 - 任何人都可以建議如何得到這個工作?WordPress wp-code-igniter插件

回答

1

修復它 - 在模板中使用codeigniter函數之前,您需要獲取codeigniter對象 - 修改代碼如下,它適用於任何WordPress模板文件:

<?php 
    $ci = &get_instance(); 

    $ci->load->library('table'); 

    $data = array(
      array('Name', 'Color', 'Size'), 
      array('Fred', 'Blue', 'Small'), 
      array('Mary', 'Red', 'Large'), 
      array('John', 'Green', 'Medium')  
); 
    echo $ci->table->generate($data); 
    ?> 
+2

只是記錄一些關於這個主題的好資源,以便有人深入研究這個問題 - http://www.marketingadept.com/blog/2013/02/integrating-codeigniter-and-wordpress/和http:/ /wildmice.ca/en/blog-posts/how-to-use-wordpress-inside-codeigniter/ –