Armazenar o link permanente da origem em chamadas XMLRPC

4

Em um tema que estou desenvolvendo, preciso vincular a postagem de origem quando a postagem tiver sido armazenada usando o XMLRPC. Isso implica que toda vez que o Wordpress solicita um permalink (usando get_permalink ()), o tema retornará um link salvo anteriormente. Isso é conseguido adicionando um novo filtro:

add_action('the_permalink', 'filterPermalink');

function filterPermalink($url) {
    $permalink = get_previously_saved_permalink(get_the_ID());
    return $permalink? $permalink : $url;
}

Esse não é o problema (no momento). O problema é como fazer o mesmo com a função metaWeblog.newPost .

Eu já tentei algo assim:

add_filter('xmlrpc_methods','xml_rpc_functions_to_add');

function xml_rpc_functions_to_add($args) {
    $args['metaWeblog.newPost'] = 'add_permalink';
    return $args;
}

function add_permalink($args) {
    // Do it
}

O que eu preciso é saber como chamar o 'metaWeblog.newPost' anterior de 'add_permalink'.

    
por Ivan 21.05.2012 / 20:19

1 resposta

1

De olhar para a fonte metaWeblog.newPost parece ser processado no método wp_xmlrpc_server->mw_newPost() .

No final deste método, há a seguinte chamada de gancho:

do_action( 'xmlrpc_call_success_mw_newPost', $post_ID, $args );

que parece ser muito apropriado para processar e salvar qualquer informação adicional para postagem que acaba de ser criada por seu ID fornecido.

    
por Rarst 08.10.2012 / 21:01