在wordpress中使用codeigniter和wp-code-igniter

时间:2013-06-11 14:19:50

标签: wordpress codeigniter wordpress-plugin

所以我成功地在我的wordpress安装上安装了wp-code-igniter插件并配置为使用永久链接运行:

\插件\ 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现在再次使用固定链接 - 但是我真的不知道如何在模板中使用codeigniter,我尝试将以下内容添加到我的主题主体index.php页面:< / p>

 <?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 plugin

1 个答案:

答案 0 :(得分: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);
  ?>