gpt4 book ai didi

php - 将 codeigniter 站点集成为 wordpress 插件

转载 作者:行者123 更新时间:2023-11-28 23:41:54 24 4
gpt4 key购买 nike

我有一个来自另一个开发人员的部分完成的 WP 插件,它将基于 Codeigniter 的 Easy!Appointments 调度实用程序集成到 WP 数据库中。我需要将 Easy!Appointments 用户与 WP 用户相关联。

结构:Easy!Appointments 数据库是 mysql 中 WP 数据库结构的一部分。 Easy!Appointments 内置于 Codeigniter 框架中。该插件将使 Easy!Appointments 在带有短代码但缺少 WP header 的页面上运行。所以,我在 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 传递给 Easy!Appointments。在插件中我添加了这段代码:

if(!function_exists('wp_get_current_user')) {
include(ABSPATH . "wp-includes/pluggable.php");
}

$wp_id = get_current_user_id();

这告诉我当前用户。这就是我需要的。现在我该如何传递它,以便 codeigniter/Easy!Appointments 可以在我的 Controller 中使用它?

我尝试过的:在我的 codeigniter Controller 中,我添加了 require_once( "/wp/wp-includes/user.php 的路径");进而 $wp_id = get_current_user_id();

然后告诉我我没有登录。

我也试过添加到 Controller require_once( "/wp/wp-includes/pluggable.php 的路径");

那只会杀死它。

那么,如何使这些 WP 函数或至少函数的结果可供我的 codeigniter Controller 使用。我只是让它成为一个全局性的吗?怎么办?

最佳答案

问题是我试图在 iFrame 中运行,而不是使用短代码在 WP 中正确运行。我根据此处给出的建议修复了短代码的问题: How to integrate WordPress template with CodeIgniter .

现在一切正常。

关于php - 将 codeigniter 站点集成为 wordpress 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34230447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com