Posts Tagged: xmlrpc

2007
13
feb

WLW, UTW és WP xmlrpc hack


Nem kevés fáradtság árán sikerült megoldanom az Ultimate Tag Warrior tagek publikálását a Windows Live Writerrel. Ehhez a már jól ismert xmlrpc hack-ből indultam ki, azonban ez nem működött a 3.14159265 számú UTW verzióval.

Feltelepítettem a Fiddlert és elkezdtem debuggolni a postolás folyamatát. Mint ahogy a mellékelt képen is látszik, az mt_keywords nevű nodeban a megadott kulcsszavakat a WLW szépen elküldte a WordPressnek, ott azonban mégsem jelentek meg a tagek. Bosszantott, hogy egy ilyen egyszerű dolgot nem tudok összehozni ezért elkezdtem debuggolni az UTW plugint szerver oldalon. Hamarosan rájöttem, hogy az ultimate-tag-warrior-actions.php fájlban az ultimate_save_tags() függvényben akad el a dolog mégpedig a következő sornál:

if ( !wp_verify_nonce($_POST['utw-verify-key'], 'utw') )<br />    return $postID;

Innentől már egyszerű volt a megoldás, mert csak a verify_nonce-ot kellett létrehozni az xmlrpc.php-ban:

// ROBIN LU UTW / ECTO HACK<br />// Kelly Adams Ecto hack: strip Ecto HTML from mt_keywords<br />$_POST['tagset'] = ecto_clean_tags($content_struct['mt_keywords']);<br />$_POST['utw-verify-key'] = wp_create_nonce(&quot;utw&quot;);

A feltöltési probléma el is hárult, a WLW-el készített postoknál megadott tagek annak rendje és módja szerint feltöltődnek és megjelennek a WordPressben. A korábbi postok szerkesztése során azonban a WLW valamiért nem birkózik meg a korábban megadott kulcsszavakkal. Mint a második képen látszik, a wordpress leküldi ugyan ezeket a tageket, de nem történik velük semmi. Ez vagy egy WLW bug vagy az xmlrpc-nek kellene másmilyen formátumban listáznia az mt_keywords szekció tartalmát. Ha valakinek van erről információja akkor örömmel veszem, ha megosztja velem!

Ecto-t használóknak is jól jöhet a fenti információ. Bár nem teszteltem, de véleményem szerint ugyanaz a probléma jönne elő a jelzett wp_create_nonce("utw") hozzáadása nélkül.

A teljesség kedvéért megosztom az általam módosított xmlrpc.php-t:
xmlrpc.php (WordPress 2.1)

További információk:
Windows Live Writer and Ultimate Tag Warrior
How to make ecto work with Ultimate Tag Warrior
How to make ecto work with Ultimate Tag Warrior Part II