Как автоматизировать добавление нового поста на php в WordPress
09.06.2008В решении автоматического наполнения WordPress, о чем я писал в http://blogclient.ru/zarabotok-v-sape.htm первой задачей встает добавление нового поста. Второй вопрос - это создание и выбор категории для нового поста, но этот вопрос для меня пока не решен.
Вот работающая функция на php для добавления нового поста
function AddPost($Title, $Content, $Date) {<BR> global $user_ID;<BR> $PostArr= array(<BR> 'post_status' =>
'publish',<BR> 'post_type' => 'post',<BR> 'post_author' => $user_ID,<BR> 'post_content' =>
$Content,<BR> 'post_title' => $Title,<BR>'post_date' => gmdate('Y-m-d H:i:s', $Date + get_option('gmt_offset') *
3600),<BR> 'comment_status' => 'open',<BR> 'ping_status' => get_option('default_ping_status'),<BR> 'post_parent' =>
0,<BR> 'to_ping' => '',<BR> 'pinged' => '',<BR> 'post_password' => '');<BR> <BR>return
wp_insert_post($PostArr);<BR> }<BR>
Для отладки робота необходимо также иметь и функцию удаления всех постов из блога, я ее например запускаю перед очередным маневром добавления новых постов, пока что на локальном компьютере. Все отлично работает:
function DeleteAllPosts() {<BR> global $wpdb;<BR> $Posts= $wpdb->get_results("SELECT ID FROM
$wpdb->posts");<BR> foreach( $Posts as $Post ) {<BR>wp_delete_post($Post->ID);<BR>}<BR>}
Если у кого есть какие предложения - пишите. У кого есть какие идеи об алгоритме расфасовывания постов по категориям в полностью автоматическом режиме?
Мой блог находят по следующим фразам
• как прошивать плеера mp3
• убрать плагин
• удаление плагина
• как удалить плагин доступа на сайт
• индексирование поисковиками блог
• бесплатный хостинг wordpress
← Ранее Заработок в sape
Позже Перекрестное опыление блогов →
Комментарии (17) на запись “Как автоматизировать добавление нового поста на php в WordPress”
Пингбеки
- Перекрестное опыление блогов | Программы для блогов
- плагин для wordpress создающий новые выпуски вашей рассылки на subscribe.ru и создает новую запись на зеркале blogspot.com | Программы для блогов
- плагин wordpress пропускающий комментарии только на русском | Программы для блогов
- ping, pingback, trackback в wordpress- взгляд изнутри: что это такое и как оно работает | Программы для блогов
- Мои оппоненты - comment manager | Программы для блогов
- Обмен постовыми | Программы для блогов
Оставить комментарий
Хм, создал файл, запускается без ошибок, но ничего не добавляет. может в последней версии так..
‘publish’,
’post_type’ => ‘post’,
’post_author’ => $user_ID,
’post_content’ => $Content,
’post_title’ => $Title,
‘post_date’ => $Date,
’comment_status’ => ‘open’,
’ping_status’ => get_option(’default_ping_status’),
’post_parent’ => 0,
’to_ping’ => '',
’pinged’ => '',
’post_password’ => '');
return wp_insert_post($PostArr);
}
AddPost('Заголовок', 'тест новости', '2008-07-29 23:21:59');
?>
чтото обрезалось, вот начало
require_once('wp-config.php');
function AddPost($Title, $Content, $Date) {
global $user_ID;
$PostArr= array(
’post_status’ =>
если кому надо то вот http://phpclub.ru/talk/showthread.php?s=90933ede8cbbfd83528e2ea410244d5e&threadid=91328&highlight=xmlrpc
какое ставить $post_status ?
Да, еше
какой текст должен быть рнр файла для удаления из блога всех записей?
спасибо
Ставить дату поста когда он должен появится - тогда он и появится, а пока дата больше текущей пост не показывается.
Как удалить все посты подсказывать не буду - должен сам хоть немного соображать, кратко выбрать все посты и подиночке вызыватьфункцию удалению. Если спросишь как это делать, то не отвечу
я просто в рнр не силен. всегда в делфях игрался ;)
в том то и дело, что если ставлю ’post_status’ => ‘publish’, то пост публикуется, хоть дата и стоит в будущем
а если ставлю "футурум" то пост попадает в запланированные и НЕ публикуется. причм отчет времени идет, только в обратном направлении, то есть осталось 2, 3, 4, 5 часов...
p.s. уведомления о комментах на почту не доходит..
Я пользуюсь для публикации xmlrpc - там все ок, рекомендую посмотреть исходник xmlrpc.php и если нужно, то оттуда скопипастить нужное
Отчего не доходят письма - E-Mail сейчас стал крайне ненадежным, может спаморезом не пропускаются.
Гонишь :) 1 как указать категории: http://codex.wordpress.org/Function_Reference/wp_insert_post
там строки: $my_post = array();
$my_post['post_title'] = 'My post';
$my_post['post_content'] = 'This is my post.';
$my_post['post_status'] = 'publish';
$my_post['post_author'] = 1;
$my_post['post_category'] = array(0);
// Insert the post into the database
wp_insert_post( $my_post );
а конкретнее: $my_post['post_category'] = array(0);
второй ваиант: wp_set_post_categories
благодарю за внимание :) надеюсь комуто помог :)
Нафига так мучаться. Вот рабочая функция для добавления новости.
global $user_ID;
$new_post = array(
'post_title' => 'My New Post',
'post_content' => 'Lorem ipsum dolor sit amet...',
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => $user_ID,
'post_type' => 'post',
'post_category' => array(0)
);
$post_id = wp_insert_post($new_post);
Живой пример на сайте http://vdushanbe.ru