8

WordPressでXML-RPCが有効になっているかどうかを(php経由で)確認することはできますか?これをテストする関数を書くようなものです。

if(is_xmlrpc_enabled()) {
   //action
}
else {
   //another action
}
4

2 に答える 2

8

XML-RPCは、WPバージョン> 3.5ではデフォルトで有効になっています(無効にできる「xmlrpc_enabled」フックを使用)。古いバージョンの場合、データベース(オプションテーブル)に、有効かどうかを示すフィールドがあります。(このオプションは、wp> 3.5の場合は削除されます)

function is_xmlrpc_enabled() {
    $returnBool = false; 
    $enabled = get_option('enable_xmlrpc'); //for ver<3.5
    
    if($enabled) {
        $returnBool = true;
    }
    else {
        global $wp_version;
        if (version_compare($wp_version, '3.5', '>=')) {
            $returnBool = true; //its on by default for versions above 3.5
        }
        else {
            $returnBool = false;
        }  
    }
    return $returnBool;
}
于 2013-03-19T21:27:09.570 に答える
4

WordPressのXML-RPCサーバーには2つのテストメソッドがあります。

demo.sayHello – Returns a standard “Hello!” message.
demo.addTwoNumbers – Accepts an array containing two numbers and returns the sum.

function sayHello()  
{  
    $params = array();  
    return $this->send_request('demo.sayHello',$params);  
} 

$objXMLRPClientWordPress = new XMLRPClientWordPress("http://localhost/wordpress31/xmlrpc.php" , "username" , "passowrd"); 

function send_request($requestname, $params)  
{  
            $request = xmlrpc_encode_request($requestname, $params);  
            $ch = curl_init();  
            curl_setopt($ch, CURLOPT_POSTFIELDS, $request);  
            curl_setopt($ch, CURLOPT_URL, $this->XMLRPCURL);  
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
            curl_setopt($ch, CURLOPT_TIMEOUT, 1);  
            $results = curl_exec($ch);  
            curl_close($ch);  
            return $results;  
}  

同じ結果が得られた場合は、WordPress XML-RPCサーバーにリクエストを適切に送信し、リクエストを適切に受信できることを意味します。

于 2013-03-19T14:14:28.207 に答える