| Пригодился класс? |
Скачать можно:
Wp-poster (13.8 KiB)
Вопросы:
- Что это такое?
- Зачем это надо?
- Как мне отправить пост на блог?
- Что значит '32700 parse error. not well formed'
- Что значит 'XML-RPC services are disabled on this blog.'
- Как мне создать категории?
- Как мне узнать ID поста?
- Когда будет можно делать ххххх?
- Какие версии WordPress совместимы?
- Какие условия использования?
- У меня вырезаются все теги, что делать?
Ответы:
1. Что это такое?
Это PHP класс написанный мной на работе для упрощения отправки постов в блог на WordPress. По сути, сам класс является лишь фасадом к классу IXR_Client, который производит общение по протоколу XML-RPC с блогом. Класс мной выложен в свободное использование.
Некоторые люди хотят организовать кросс-постинг, некоторые хотят иметь возможность сразу отправлять несколько постов. У каждого свои цели. Класс - это лишь инструмент, а уж цель придумывает пользователь.
3. Как мне отправить пост на блог?
Пример:
<?php
require ('/wp_poster.php');
require ('/ixr_client.php');
$poster = wp_poster::getInstance();
$blog = new wp_blog('http://wordpress/xmlrpc.php', 'test', 'test', 0);
$post = new wp_post();
$post->setTitle('Заголовок поста');
$post->setDescription('Текст до _читать далее_');
$post->setPostStatus('publish');
$poster->post($blog, $post);
4. Что значит '32700 parse error. not well formed'
Это значит, что XML запрос к серверу или ответ содержат ошибки. Для начала проверьте, что вы посылаете текст в формате UTF-8.
5. Что значит 'XML-RPC services are disabled on this blog.'
Это означает, что в блоге выключена настройка, позволяющая отправлять посты через протокол XML-RPC. Вы можете ее включить в панели администратора.
$blog->createCategories(array('категория1', 'категория2'));
Сейчас так:
$id = $poster->post($blog, $post);
Со временем будет изменено на:
$posted = $poster->post($blog, $post);
$id = $posted->getId();
8. Когда будет можно делать ххххх?
Тогда, когда руки дойдут. Я за это не получаю денег и делаю в свое свободное время, котрого к сожалению не очень много.
9. Какие версии WordPress совместимы?
Могу отвечать только за 2.6 и 2.7. С остальными не пробовал.
10. Какие условия использования?
Условия использования WordPress и класса IXR_Client смотрите на сайте вордпресса. Мой класс разрешено использовать и изменять по желанию, запрещено только коммерческое распространение. Класс предоставляется as is, я не не несу ответственности за результаты его использования, все только на свой страх и риск. Все авторские права принадлежат мне. Так же желательно, хотя и не обязательно указывать ссылку на эту страницу.
11. У меня вырезаются все теги, что делать?
Это багрепорт от Kirill'a. Он говорит, что дело в libxml2. При передаче тегов нужена версия <=2.6.32
Update:
Решение проблемы с удалением угловых скобок (тегов). Для вордпресса есть специальный плагин:
http://josephscott.org/code/wordpress/plugin-libxml2-fix/. Говорим спасибо Kinslayer.






Август 18th, 2009 at 16:06
Можно как-нибудь указать ID категории для поста?
Август 10th, 2009 at 22:16
не думаю, что кому-то надо
Август 9th, 2009 at 05:57
А почему вы не сделали скрипт «под ключ»? на продажу.
например, граббер контента под ВП
Июль 15th, 2009 at 18:16
Да, API сейчас крайне ограничен. Поэтому пока что я не вижу смысла дальше развивать этот класс. Базовые вещи он делать умеет, а чего-нибудь особенног крутого сделать не получится.
Июль 10th, 2009 at 15:06
Кстати, в API wordpress’а нет средств для поиска, т.е. элементарно сделать проверку на дубли нельзя стандартными средствами, поэтому мне пришлось расширять стандартный API (MWA) и дописывать функцию поиска… Ну и в класс постера соответственно тоже. Сталкивался с такой проблемой ?
Июль 3rd, 2009 at 22:59
Это все, что выдает? В каком файле ошибка? На какой строке? Нужно как можно больше конкретики, а пока я ничего не могу сказать.
Июль 3rd, 2009 at 11:39
В чем может быть ошибка?
На vds стоит php 5 c xmlrpc
В блоге включен xmlrpc, но при постинге выдает ошибку:
XML error: Invalid document end at line 1
Кто-н сталкивался с таким?
Июнь 26th, 2009 at 18:15
Автор, спасибо тебе огромное за этот класс!
Я уже было начал писать свой такой же класс от безысходности, но потом нашел этот, так что ты мне сэкономил кучу времени .)) респект .)
И по делу ещё – можно ли в методе wp_post::setCategories сделать установку категорий не по имени, а по ярлыку или ID ?
Июнь 15th, 2009 at 14:15
У меня почему то весь код не влазит так что напишу вам на почту.
Июнь 15th, 2009 at 09:48
а где wp_blog?