Мой php-класс для постинга в WordPress

Решил поделиться с людями своими небольшими наработками в области программирования. Думаю, этот класс будет полезен многим – он постит в WordPress аж двумя способами: через админку (curl) и напрямую кладет в MySQL.

Требования:

  • версия 2.9.2 (на других не тестировал);
  • плагин Platinum SEO-pack для постинга SEO-полей
  • плагин Simple Tags для задания тегов
  • php5 + cURL

Можно задавать категории (но только номером категории, сделать по-человечески мне было влом) и теги (только с Simple Tags, тоже было лень разбираться с дефолтными).

Для чего может использоваться? Доры, сплоги, ну и просто погнать.

Вот пример использования:

<?phpinclude “class.php”;$var = new wp_post;#удалённый постинг
$var->login(“http://wordpress.org”, “admin”, “password”);

#cat – номер категории
echo $var->post(array(
‘url’=>’http://wordpress.org’,
‘title’=>’Post Title!’,
‘content’=>’Content…’,
‘tags’=>’tag, tag1, tag2’,
‘cat’=>’5’,
‘seo_title’=>’TITLE’,
‘seo_desc’=>’DESC’,
‘seo_keys’=>’KEY,KEY2,KEY3’
));

#постинг в бд
mysqlconnect(array(‘db’=>’wp_blog’, ‘host’=>’localhost’, ‘user’=>’user’, ‘pass’=>’password’, ‘encoding’=>’utf8’));
$var->db(array(
‘post_title’ => ‘Заголовок поста’,
‘post_content’ => ‘Сообщение’,
‘post_status’ => ‘publish’,
‘comment_status’ => ‘closed’,
‘ping_status’ => ‘closed’,
‘db_prefix’ => ‘wp_’
));
mysql_close();

?>

В классе используются функция mycurl, которая может юзаться повсеместно, при постинге любой херни куда угодно. С ней идет база на несколько сот юзерагентов. Вот пример ее использования:

<?php

include “class.php”;

mycurl(array(
‘url’=>”,
‘timeout’=>”,
‘useragent’=>”,
‘post’=>”,
‘proxy’=>”,
‘ref’=>”,
‘ssl_peer’=>”,
‘ssl_host’=>”,
‘ssl_vars’=>”
));

?>

Как видим, задается довольно много параметров: таймаут, юзерагент, поля POST-запроса, прокси, реферер и ssl-поля. Из них обязательный (что и читается прямо в исходниках, если не лень туда сходить) только один – url. Можно его указывать и не массивом, просто mycurl(‘http://ya.ru’);. В этом случае будет отправлен простой GET-запрос (скачивание страницы), а реферер подставится случайным образом.

Ну что же, надеюсь, что класс будет полезен начинающим кодерам 🙂 Дополнения, замечания, пожелания и ссылки на эту запись приветствуются!

Скачать WP-Poster!

 

И что вы об этом думаете?

Несколько ботов уже оставили свой след в истории поста. А именно 11 шт.

Kichrum:
7 июня 2010  
  

Дай готовый парсер другоих сайтов))) И лучше – оформи его как плагин =)

Саша:
7 июня 2010  
  

чё та громко вы закричали , написал класс , обычный курл , тока вы его переписали под названием другой функции =)

Белый Негр:
7 июня 2010  
  

Kichrum, да как нефиг делать 🙂 Но зачем? Все равно он для всех не подойдет, для каждого сайта нужно будет что-то поковырять, чтобы работало.

Саша, класс – для постинга. Функция – просто приятное дополнение. И с ней реально удобнее. Не, можно, конечно, юзать snoopy, я ж не претендую на что-то и не продаю ничего 🙂

seoplayer:
7 июня 2010  
  

зачем так извращаться с wp, если есть xmlrpc?

required:
7 июня 2010  
  

В WP можно удаленнл постить через “xmlrpc.php”.

Белый Негр:
7 июня 2010  
  

seoplayer, required, в xmlrpc нельзя указывать теги и поля для seo-плагина

seoplayer:
7 июня 2010  
  

у меня постит с тэгами ;).
доп. поля – надо посмотреть, наверника возможно.

Костя:
27 июля 2010  
  

прикольная статья, спасибо автору!

Дмитрий:
31 октября 2010  
  

А windows live writer с плагином сео не решает проблемы?

Белый Негр:
31 октября 2010  
  

Дмитрий, если ты пишешь парсер на PHP, то нет