问题描述
我将wordpress插件中的sendgrid-PHP.PHP
插件用作库。然后,按照以下步骤将其导入我的插件中,以防止可能导致错误的双重导入:
// include sendgrid sdk
if( class_exists('\\SendGrid\\Email') === false ) {
// when used globally \\SendGrid\\Email
// when importing with "use" Sendgrid
require_once dirname(__FILE__) . "/sendgrid-PHP/sendgrid-PHP.PHP";
}
我必须在wordpress中(单独)添加sendgrid插件“独立”作为新插件,因为存在我插件中无法获得的额外功能(例如电子邮件表单页面等)
为避免名称冲突,我首先将内部插件的名称SendGrid
重命名为SendGridSDK
,以便现在可以安全地在wordpress中安装插件,而不会发生名称冲突。
这个插件可以工作,但是当我尝试运行一些钩子时,在我的插件中我得到了这个致命错误:
Fatal error: Uncaught Error: Class 'SendGridSDK\Client' not found in /home/loretoparisi/staging/2/wp-content/plugins/loretoparisi_admin/sendgrid-PHP/lib/SendGridSDK.PHP:53 Stack trace: #0 /home/loretoparisi/staging/2/wp-content/plugins/loretoparisi_admin/uam-export.PHP(467): SendGridSDK->__construct('...') #1 /home/loretoparisi/staging/2/wp-content/plugins/loretoparisi_admin/uam-export.PHP(574): LPUserAccessManagerExport\LP_UAM_Export->sendEmail('loretoparisi...','"id","user_logi...') #2 /home/loretoparisi/staging/2/wp-includes/class-wp-hook.PHP(287): LPUserAccessManagerExport\LP_UAM_Export->generate_csv(Array) #3 /home/loretoparisi/staging/2/wp-includes/class-wp-hook.PHP(311): WP_Hook->apply_filters('',Array) #4 /home/loretoparisi/staging/2/wp-includes/plugin.PHP(478): WP_Hook->do_action(Array) #5 /home/loretoparisi/staging/2/wp-admin/includes/export.PHP(76): do_action('export_wp',Array) #6 /home/loretoparisi/staging/2/wp-admin/export.PHP(121): export_wp(Array) #7 {main} thrown in /home/loretoparisi/staging/2/wp-content/plugins/loretoparisi_admin/sendgrid-PHP/lib/SendGridSDK.PHP on line 53
引用了SendGridSDK.PHP
重命名文件类中的这一行(它是SendGrid.PHP
:
$this->client = new \SendGridSDK\Client($host,$headers,'/v3',null,$curlOptions);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)