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

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

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

    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. 64
      CharnaD Says:

      zidar, это сложно. сейчас класс не предоставляет такой возможности. вы можете попробовать отслеживать это перед отсылкой, то есть в БД. вообще я пока не вижу эффективного способа проверять уникальность поста с помощью xml-rpc.

    2. 63
      CharnaD Says:

      Роман, в новой версии это делается так:

      $post->setAllowComments(‘closed’);

    3. 62
      zidar Says:

      У миня всё работает…
      require (‘wp_poster.php’);
      require (‘ixr_client.php’);
      $poster = wp_poster::getInstance();
      $blog = new wp_blog(‘http://wordpress.ru/xmlrpc.php’, ‘admin’, ‘admin’, 0);
      $post = new wp_post();
      $post->setTitle(‘текст’);
      $img=($blog->uploadFile(’1.jpg’, ’1.jpg’));
      $post->setDescription(‘
      тут какой то текст…’);
      $post->setTextMore(‘тут текст который типо читать далее…’);
      $post->setPostStatus(‘publish’);
      $post->setPostType(»);
      $poster->post($blog, $post);

      Хотел просить, а как узнать если уже есть такой пост, что бы не постить ещё раз его?

    4. 61
      Torn Says:

      ошбика локализована – СПАСИБО!!!!

    5. 60
      Torn Says:

      setTitle(’232323′);
      $post->setDescription(’2323′);
      $post->setPostStatus(‘publish’);
      $post->setPostType(»);
      $poster->post($blog, $post);
      ?>

      Весной ставил скрипт, все получилось.
      СЕЙЧАС – нет!!!
      ВЕРСИЯ WP 2.7.1

      ВСе в WP подключил, логин и пароль, права на файлы скриптов – тоже.

      ЧТО ДЕЛАТЬ, скрипт грузиться, но не постит

      ПОМОГИТЕ , уже который час не могу вспомнить, что как я подключал в прошлый раз

    6. 59
      Роман Says:

      CharnaD, что-то не получается закрыть комментарии к записи, Вы не проовали ?
      Ставлю:
      $post_structure['mt_allow_comments']= ‘closed’;
      или
      $post_structure['mt_allow_comments']= 0;
      Но не работает. Это только у меня ?

    7. 58
      Роман Says:

      Спасибо, разобрался сам … метод uploadFile

    8. 57
      allphones Says:

      CharnaD, скажите, а есть возможность добавлять attachment к записи?

    9. 56
      CharnaD Says:

      попробуйте

      $post->setDate(strtotime(‘YYYY-MM-DD’));

    10. 55
      Dux Says:

      Что то не работают не setDateGmt() не setDate().
      Так же надо:
      $post->setDate(‘YYYY-MM-DD’); ?

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

    Leave a Reply