WordPressでXML-RPCが有効になっているかどうかを(php経由で)確認することはできますか?これをテストする関数を書くようなものです。
if(is_xmlrpc_enabled()) {
//action
}
else {
//another action
}
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;
}
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サーバーにリクエストを適切に送信し、リクエストを適切に受信できることを意味します。