:-)
  • Пригодился класс?

    Яндекс Яндекс. Деньги Хочу такую же кнопку

    Скачать можно:

    Wp-poster (13.8 KiB)

    Вопросы:

    1. Что это такое?
    2. Зачем это надо?
    3. Как мне отправить пост на блог?
    4. Что значит '32700 parse error. not well formed'
    5. Что значит 'XML-RPC services are disabled on this blog.'
    6. Как мне создать категории?
    7. Как мне узнать ID поста?
    8. Когда будет можно делать ххххх?
    9. Какие версии WordPress совместимы?
    10. Какие условия использования?
    11. У меня вырезаются все теги, что делать?

    Ответы:

    1. Что это такое?

    Это PHP класс написанный мной на работе для упрощения отправки постов в блог на WordPress. По сути, сам класс является лишь фасадом к классу IXR_Client, который производит общение по протоколу XML-RPC с блогом. Класс мной выложен в свободное использование.


    2. Зачем это надо?

    Некоторые люди хотят организовать кросс-постинг, некоторые хотят иметь возможность сразу отправлять несколько постов. У каждого свои цели. Класс - это лишь инструмент, а уж цель придумывает пользователь.


    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. Вы можете ее включить в панели администратора.


    6. Как мне создать категории?

    $blog->createCategories(array('категория1', 'категория2'));


    7. Как мне узнать ID поста?

    Сейчас так:

    $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.

  • 104 Responses to “WP-poster”

    Страниц: « 11 10 9 8 7 6 [5] 4 3 2 1 » Show All

    1. 44
      Smile Says:

      Здравствуйте пробовал постить с помощью класса и на денвере и на хосте. Ошибок никаких не выдает но и пост не добавляеться удаленая публикация – включена.
      Вот код:

      setTitle(‘Заголовок поста’);

      $post->setDescription(‘Текст до _читать далее_’);

      $post->setPostStatus(‘publish’);

      $post->setTextMore(‘Текст после _читать далее_’);

      $poster->post($blog, $post);
      ?>

    2. 43
      CharnaD Says:

      Алексей, насколько я помню, создание пользователей не реализовано в вордпрессе в самом xml-rpc.

    3. 42
      CharnaD Says:

      Serg, пишите
      <?php вместо <?

    4. 41
      Serg Says:

      Ой, блог похавал пхп код..
      Вот ссылка на содержание файла test.php

      new.krasfun.ru/uploader/test.txt

    5. 40
      Serg Says:

      День добрый. Ваша идея мне понравилась, скачал запускаю и вот что мне выдаёт
      XML error: Invalid document end at line 1
      Далее код.

      setTitle(‘POSt name’);
      $post->setDescription(‘[media id=223 width=420 height=380]‘);
      $post->setPostStatus(‘publish’);
      //$post->setPostType(»);
      $post->setCategories(‘Ролики,Ролики’);
      //var_dump($blog->uploadFile(’1.jpg’, ’1.jpg’));
      $r = $poster->post($blog, $post);
      ?>

      Что я делаю не так?

    6. 39
      Юрий Says:

      Кстати, получилось на денвере запустить постер.
      Нужно установить расширение http://www.denwer.ru/packages/php5.html
      и в /usr/local/php5/php.ini
      убрать точку с запятов в строке «;extension=php_curl.dll»

    7. 38
      Алексей Says:

      Хотелось бы такую штуку, с пользователями:
      - отправляем логин и пароль
      – если такой логин не существует, создаем нового пользователя с этим логином
      – если логин существует постим от его имени
      – если логин существует. а пароль неверен возвращаем ошибку

      Это не пожелание, а так, идея. Попробую сделать. Когда получится могу поделиться ))

    8. 37
      CharnaD Says:

      @Torn, $ перед wp_blog поставьте. Категории так же можно задавать в массиве.

    9. 36
      CharnaD Says:

      Пожалуйста, обращайтесь. Следите за обновлениями ;)

    10. 35
      Viper Says:

      Наконец-то у меня всё заработало! Проблема была в настроках хостинга, на котором находился блог. Создал файл .htaccess со строкой «SecFilterEngine Off» и всё пошло. CharnaD, огромное Вам спасибо за помощь!

    Страниц: « 11 10 9 8 7 6 [5] 4 3 2 1 » Show All

    Leave a Reply