Праблемы з публікацыяй Live Writer з WordPress
Нядаўна Live Writer пачаў ствараць праблемы прынамсі ў двух выпадках:
1. Калі ствараецца новы артыкул, яго загрузка адпраўляе паведамленне пра памылку, нават калі артыкул загружаны. Потым, пры паўторнай спробе, ён стварае новы артыкул так, што на момант заўважэння выпадку ўжо ёсць некалькі артыкулаў, апублікаваных з такой жа назвай, а ніжэй, здаецца, нічога не загружаецца.
2. Калі адкрыты ўжо апублікаваны артыкул, пры яго абнаўленні выдаецца паведамленне пра памылку, нават калі абнаўленне выканана належным чынам.
Уся праблема ў абнаўленні радка файла Клас-WP-XMLRPC-server.php які не адпраўляе адказнае паведамленне. Тое ж самае адбываецца, калі рабіць гэта з любой аддаленай платформы метадам metaWeblog, як у выпадку з Blogsy з iPad/iPhone.
Паведамленне выглядае так:
Адказ на метад metaWeblog.editPost, атрыманы ад сервера блога, быў несапраўдным: няправільны дакумент адказу вернуты з сервера XmlRpc.
Ну, вынік такі: вы павінны ўвайсці ў файл праз cPanel або хостынг /public_html/wp-includes/class-wp-xmlrpc-server.php і шукайце код у радку 3948:
if (is_array($attachments)) {
foreach ($attachments as $file) {
if ( strpos( $post_content, $file->guid ) !== false )
$wpdb->update($wpdb->posts, array('post_parent' => $post_ID), array('ID' => $file->ID) );
Вы павінны змяніць яго на:
if (is_array($attachments)) {
foreach ($attachments as $file) {
if($file->guid && !($file->guid == NULL))
if ( strpos( $post_content, $file->guid ) !== false )
$wpdb->update($wpdb->posts, array('post_parent' => $post_ID), array('ID' => $file->ID) );
Калі вы заўважылі, мы дадалі радок, пазначаны чырвоным.
Гэта павінна вырашыць праблему. З асцярожнасцю, што пры абнаўленні WordPress вы павінны рабіць гэта зноў, пакуль яны не вырашаць гэта канчаткова.