У меня проблема с интеграцией API sendinblue php в мой онлайн-код. Позвольте мне объяснить, на моем локальном компьютере все работает, но как только я размещаю свой код на онлайн-сервере, он больше не работает. Однако, если я использую API только в базовом c php файле, он работает. Но если я смешиваю его с файлами WordPress онлайн, возникает фатальная ошибка.
Я добавляю эту строку: require_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
для использования функции wordpress, но есть ошибка.
Basi c код, который я использовал:
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
require_once(__DIR__.'/../templates/sendinblue/vendor/autoload.php');
global $wpdb;
//Attributes to send $attributes = [
"source_display_name" => 'TEST' ];
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', ''MY-KEY');
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('partner-key', 'MY-KEY');
$apiInstance = new SendinBlue\Client\Api\SMTPApi(
// If you want use custom http client, pass your client which implements GuzzleHttp\ClientInterface.
// This is optional, GuzzleHttp\Client will be used as default.
new GuzzleHttp\Client(),
$config );
$sendEmail = new \SendinBlue\Client\Model\SendEmail(); // \SendinBlue\Client\Model\SendEmail | $sendEmail->setEmailTo(['pewixg3@test.com']); $sendEmail->setAttributes($attributes);
$template_name = "source convertie"; //The template to search
$lang = "fr_FR";
if($lang == "fr_FR"){
$templateId = $wpdb->get_var("SELECT id_fr FROM ".$wpdb->prefix."sendinblue_templates WHERE template_name = '$template_name'"); } elseif ($lang == "en_US") {
$templateId = $wpdb->get_var("SELECT id_en FROM ".$wpdb->prefix."sendinblue_templates WHERE template_name = '$template_name'"); } elseif ($lang == "de_DE") {
$templateId = $wpdb->get_var("SELECT id_de FROM ".$wpdb->prefix."sendinblue_templates WHERE template_name = '$template_name'"); } elseif ($lang == "it_IT") {
$templateId = $wpdb->get_var("SELECT id_it FROM ".$wpdb->prefix."sendinblue_templates WHERE template_name = '$template_name'"); } elseif ($lang == "es_ES") {
$templateId = $wpdb->get_var("SELECT id_es FROM ".$wpdb->prefix."sendinblue_templates WHERE template_name = '$template_name'"); }
echo $templateId; //97
try {
$apiInstance->sendTemplate($templateId, $sendEmail); } catch (Exception $e) {
//echo 'Exception when calling SMTPApi->sendTemplate: ', $e->getMessage(), PHP_EOL;
$error = $e->getMessage(); }