Получить переменную Json APi Plugin в файле theme.php темы - PullRequest
0 голосов
/ 03 января 2019

Я создал API с конечной точкой account_activate.Я получил значение в запросе с ключом flink, и я просто хочу получить это значение в function.php дочерней темы, я использовал SESSION, концепцию GLOBAL, но не смог получить это значение в function.php

Имя API - account_activate.

Основная функция этого API - отправка электронной почты после регистрации в приложении.Пользователь приложения активирует свою учетную запись по электронной почте.После активации приложение перенаправит пользователя в приложение, нажав на ссылку входа в систему.

public function account_activate() {

     global $wpdb, $json_api, $wp_hasher;

     $request_method=$_SERVER["REQUEST_METHOD"];

     if($request_method=='POST')
      {

       $data = json_decode(file_get_contents('php://input'), true); 

       $email = trim($data['email']);
       $activation_link = trim($data['link']);
        $firebase_link = trim($data['flink']);

       if(!$email)
       {
          $json_api->error("You must include 'email' var in your request. ",'401'); 
       }

       if(!$activation_link)
       {
          $json_api->error("You must include 'link' var in your request. ",'401'); 
       }

        if(!$firebase_link)
       {
          $json_api->error("You must include 'flink' var in your request. ",'401'); 
       } 

if (!session_id()) {
                session_start();
            }
        $_SESSION['flink'] = $firebase_link;

        $activatelink = '<a href= "'.$activation_link.'">Activate Yor Account</a><br>';

        $message = __('Thanks for registering!') . "<br><br>";

        //$message .= network_home_url() . "<br><br>";

        //$message .= sprintf(__('Username: %s'), $user_data->display_name) . "<br><br>";

        $message .= __('To complete the activation of your account, go to the following link:') . "<br><br>";

        //$message .= __('To reset your password, visit the following address:') . "<br><br>";

        $message .= $activatelink;

        if (is_multisite())
            $blogname = $GLOBALS['current_site']->site_name;
        else
            $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);


        $title = sprintf(__('[%s] Activate your account'), $blogname);

        $title = apply_filters('retrieve_password_title', $title);

        if (!wp_mail ($email,$title,$message)) 

            $json_api->error("The e-mail could not be sent. Possible reason: your host may have disabled the mail() function.",'401');
        else
            return array( "msg" => 'Link for activate your account has been emailed to you. Please check your email.');
      }
     else
        {
          $json_api->error('In-Correct Request Method.','401');   
        }


 }

МОЯ функция.php

    function redirectToApp()
{
    if(bp_account_was_activated())
    {
        if(wp_is_mobile())
        {
            if (!session_id()) {
                session_start();
            }
             $firebase_link =  $_SESSION['flink'];
            echo 'Your account was activated successfully! You can now <a href=" '.$firebase_link.' ">log in</a> with the username and password you provided when you signed up.' ;
        }
    }
}



add_action( 'bp_before_activate_content', 'redirectToApp' );

Вопрос: Я просто хочу получитьзначение переменной $ firebase_link от плагина к функции темы. php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...