2017-02-07 10 views
1

Я использую следующий код для внешнего файла PHP, который выполняется через ротор:Wordpress - Использование функций вне Wordpress

<?php 
include ('wp-config.php'); //Not sure how to do it. 

if (!empty($_POST['username']) && !empty($_POST['password'])) { 
     $username= $_POST['username']; 
     $password= $_POST['password']; 
$url = 'http://www.example.com/RequestDetails?UserId='.$username.'&pass='.$password; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    $resultauth=curl_exec($ch); 
    curl_close($ch); 
    $result = file_get_contents($url); 
    /*----Working fine till now*/ 

if ($results == 'authenticated user'){ 
$auth_options = get_option('user_options'); 
$auth_options['user'][$username] = array('verified'=>'pendingverified', 'timestamp'=> current_time('mysql')); 
} 
?> 

$auth_options['user'][$username] не работает, и я предполагаю, что это происходит потому, что этот файл не связан с WordPress.

Кто-нибудь знает, почему это происходит? Я забыл что-то включить?

+0

я настоятельно рекомендую вам рассмотреть более безопасную форму аутентификации пользователя. Передача обычного текстового пароля через HTTP звучит как плохая идея. –

+0

Эй, @NathanDawson Это был просто пример. Но в любом случае, для информации, как бы вы это сделали? –

ответ

1

Попробуйте включить Wp-load.php

include ('wp-load.php');

+0

Справа. Глядя на мой фрагмент кода, я столкнулся с странным поведением - ничего не получается после этой строки. Поэтому я добавил 'ob_end_flush();' три раза до последнего кода. Я не знаю, кто блокирует буфер, но это может быть полезно для кого-то. –

+0

Спасибо! Это работает :) –