我有一个部分完成的插件,从另一个开发人员的WP,集成了基于Codeigniter的轻松!约会调度实用程序到WP数据库。我需要把轻松的约会用户和WP用户联系起来。
结构:轻松!约会数据库是mysql中WP数据库结构的一部分。简单!约会是在Codeigniter框架中构建的。这个插件会让你很容易!约会会在一个短代码的页面上运行,但是WP头丢失了。所以,我在WP页面中的iframe中运行它。插头的主要部分是:
<?php
/**
* Plugin Name: Easy!Appointments - WordPress Plugin
* Plugin URI: http://easyappointments.org
* Description: Creates a bridge between Easy!Appointments and WordPress.
* Version: 1.0.0
* Author: A.Tselegidis
* Author URI: http://alextselegidis.com
* Text Domain: eawp
* License: GPLv3
*/
/** Base Plugin Path */
define('EAWP_BASEPATH', __DIR__);
/** Supported Versions */
define('EAWP_MIN_VERSION', '1.0');
define('EAWP_MAX_VERSION', '1.0');
/** Setup Autoloader */
require EAWP_BASEPATH . '/core/Autoload.php';
$loader = new EAWP\Core\Autoload;
$loader->register();
$loader->addNamespace('EAWP\Core', EAWP_BASEPATH . '/core');
$loader->addNamespace('EAWP\Core\Interfaces', EAWP_BASEPATH . '/core/interfaces');
$loader->addNamespace('EAWP\Core\Exceptions', EAWP_BASEPATH . '/core/exceptions');
$loader->addNamespace('EAWP\Core\ValueObjects', EAWP_BASEPATH . '/core/value-objects');
$loader->addNamespace('EAWP\Libraries', EAWP_BASEPATH . '/libraries');
/** Initialize Plugin */
global $wpdb;
$route = new EAWP\Core\Route();
$plugin = new EAWP\Core\Plugin($wpdb, $route);
$plugin->initialize();我想将当前用户的ID传递给轻松!约会。在插件中,我添加了以下代码:
if(!function_exists('wp_get_current_user')) {
include(ABSPATH . "wp-includes/pluggable.php");
}
$wp_id = get_current_user_id();这告诉我当前的用户。这正是我所需要的。现在,我如何将它传递给代码点火器/简单!约会可以在我的控制器中使用它?
我尝试过的是:在我的codeigniter控制器中添加了require_once( "/path to wp/wp-include/user.php“);然后添加了$wp_id = get_current_user_id();
这说明我没有登录。
我还尝试添加到控制器require_once( "/path to wp/wp-include/pluable.php“);
这只会扼杀它。
所以,我如何使这些WP函数,或至少可以得到的结果,我的代码点火器控制器。我能把它变成全球性的吗?多么?
发布于 2015-12-12 17:06:20
问题是,我试图在一个iFrame中运行,而不是在WP中使用简短的代码。我用下面给出的建议解决了这些问题:How to integrate WordPress template with CodeIgniter。
现在一切都很好。
https://stackoverflow.com/questions/34230447
复制相似问题