XMLRPC pingback.extsions.getPingback不使用参数

时间:2018-01-17 作者:user104787

我想使用pingback.extensions.getPingbacks 方法,该方法在url中具有参数,如post\\u类型或页面。我使用下面的代码,但当我想添加一个参数,并且得到一个0的错误代码和一个空的错误字符串时,它不起作用,但当我只传递没有任何参数的url时,它似乎起作用。有人能帮我吗?

<?php

require_once \'class-IXR.php\';
$rpc = new IXR_Client(\'http://localhost/wordpress/wordpress/xmlrpc.php\');



$result = $rpc->query(\'pingback.extensions.getPingbacks\',\'http://localhost/wordpress/wordpress/2018/01/17/hallo-welt/&post_type=something\');

if(!$result) {
echo \'Error [\' . $rpc->getErrorCode() . \']: \' . $rpc->getErrorMessage();

}

var_dump($rpc->getResponse());


?>
错误消息

Error [0]: array(2) { ["faultCode"]=> int(0) ["faultString"]=> string(0) "" } 

1 个回复
SO网友:birgire

请注意,WordPress附带WP_HTTP_IXR_CLIENT 这扩展了IXR_Client. 所以更换

require_once ABSPATH . WPINC . \'/class-IXR.php\';
$rpc = new IXR_Client( \'http://localhost/wordpress/wordpress/xmlrpc.php\' );
使用:

require_once ABSPATH . WPINC . \'/class-IXR.php\';
require_once ABSPATH . WPINC . \'/class-wp-http-ixr-client.php\';
$rpc = new WP_HTTP_IXR_CLIENT( \'http://localhost/wordpress/wordpress/xmlrpc.php\' );
然后尝试更换:

$result = $rpc->query( 
 \'pingback.extensions.getPingbacks\',
 \'http://localhost/wordpress/wordpress/2018/01/17/hallo-welt/&post_type=something\'
);
使用

$result = $rpc->query( 
 \'pingback.extensions.getPingbacks\',
 \'http://localhost/wordpress/wordpress/2018/01/17/hallo-welt/?post_type=something\'
);
服务器方法wp_xmlrpc_server::pingback_extensions_getPingbacks() 使用url_to_postid() 函数将url转换为帖子ID。因此,请确保您的url在那里工作!

附:现在许多WordPress用户正在研究新的REST-API 而不是XML-RPC API.

结束

相关推荐

如何处理XML-RPC中的快捷码

首先,我知道XML-RPC是用来发送原始post数据的,但我需要它来扩展短代码。我不使用它来发帖,所以这里不会有问题,但有一些服务正在从中获取帖子,他们得到的是短代码[],而不是扩展的短代码。我想切换到RSS,但我不能。我已经过期,但无法在wp xmlrpc server类中使用do\\u短代码。php谢谢。