【问题标题】:Using codeigniter in wordpress with wp-code-igniter在带有 wp-code-igniter 的 wordpress 中使用 codeigniter
【发布时间】:2013-06-11 22:39:09
【问题描述】:

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

\plugins\wp-code-igniter\wp-code-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;

\plugins\wp-code-igniter\ci\application\routes.php

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

到目前为止一切都很好,即使打开了永久链接,wordpress 现在也可以再次使用 - 但是我真的不知道如何在模板中使用 codeigniter,我尝试将以下内容添加到我的主题 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 插件

【问题讨论】:

    标签: codeigniter wordpress


    【解决方案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);
      ?>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    相关资源
    最近更新 更多