Давно хотел написать этот пост. На gfb неоднократно поднимался вопрос о авто постинге в wordpress. Пол года назад я задался тем же вопросом, когда строил схему работы с массовой генерацией постов.

В общем есть 3 способа добавления постов в wp.

1. Работать напрямую с БД, что довольно неудобно, так как частенько косяки вылазят. Также работая с БД мы не можем задавать категорию, по крайней мере так в версии 2.х было.

2. Написать скрипт который будет заходить в админку и создавать посты. Это очень удобно, так как можно задать нужную категорию, создать при необходимости, сменить урл поста на нужный и прочее. В общем в этом варианте все зависит только от вашего желания. Минусы этого способа время- и трудо- затраты. Сейчас есть готовые решения для такой генерации.

3. Создавать посты стандартными средствами wp. Это лучший способ генерации постов в вордпресс в случае когда не сильно важна категория. Ну в любом случае можно будет написать скрипт, что поменяет категорию. :)

Собственно код скрипта.

include (“wp-config.php”); // подключаем конфиг wp, скрипт должен лежать в корне, там же где и index.php
include (“gen_login_pass.php”);
include (“generator.php”);
include (“rezka.php”); // это библиотечки, которые я использовал в работе с ХЕ, см. посты ниже

$time = time();
$vrema = time();

$min = 50;
$max = 110;
$n = 3;  // просто переменные, у вас могут быть свои

function AddPost($Title, $Content, $Date) {
global $user_ID;
$PostArr = array(
‘post_status’ => ‘publish’,
‘post_type’ => ‘post’,
‘post_author’ => $user_ID,
‘post_content’ => $Content,
‘post_title’ => $Title,
‘post_date’ => gmdate(‘Y-m-d H:i:s’, $Date + get_option(‘gmt_offset’) * 3600),
‘comment_status’ => ‘open’,
‘ping_status’ => get_option(‘default_ping_status’),
‘post_parent’ => 0,
‘to_ping’ => ”,
‘pinged’ => ”,
‘post_password’ => ”);
return wp_insert_post($PostArr);
}   // основной код для работы с БД

// Ниже идет генерация поста. Часть я обрезал, так как она не имеет смысла. Код тут использовался тот же, что и при генерации дорвейного профиля.

for ($i=0; $i<2; $i++) {

$fname = ‘dating.txt’;
$f = file($fname);
$mm=”";
$kol = mt_rand($min, $max);
for ($x=0; $x<$kol; $x++) {

$rnd = mt_rand(0,count($f)-1);
$cn = count($f);
$fop = fopen($fname, ‘w+t’);
for($zz=0; $zz<$cn; $zz++) fwrite($fop, trim($f[$zz]).”\r\n”);
fclose($fop);

$title_file=file(“a_dating.txt”);
shuffle($title_file);
$key=trim($title_file[0]);

$fwr = fopen(“a_dating.txt”, “w+t”);
for($a=1;$a
fwrite($fwr, trim($title_file[$a]).”\r\n”);
}

$plusk = str_replace(” “, “+”, $key);
$pluskey = str_replace(” “, “_”, $key);

$maxi = mt_rand(11600,18800);
$time = $time+$maxi;

$aaa = AddPost($bol, $mm, $vrema); // добавление поста
echo var_dump($aaa);
}

Ну вот както так. :)

За 30 секунд на средненьком сервере выходит примерно 250-400 страничек в зависимости от объема поста.

Комментарии (5) на "Автопостинг в блоги Wordpress."

  1. yadino says:

    немного не понял. почему нельзя через бд добавлять категорию? она что, не в бд хранится?

    ссылки на скачку скрипта нету) толку мало от скрипта, основу которого, функцию постинга в вп, не показали)

  2. MarafoN says:

    Насколько мне известно создание и определение категорий при автоматизации в wp одна из основных проблем. Когда я работал с БД, там вроде было id категории, но заставить определять категорию при добавлении поста не получалось.
    А вы бы пост раскрыли полностью и скрипт увидели. :)

  3. yadino says:

    Дак я вроде и раскрыл =)

    заканчивается словами
    “За 30 секунд на средненьком сервере выходит примерно 250-400 страничек в зависимости от объема поста.”
    вот эти файлики я не увидел:
    include (“gen_login_pass.php”);
    include (“generator.php”);
    include (“rezka.php”);

  4. MarafoN says:

    Эти файлики по сути вообще не нужны, но я давал на них ссылки когда писал о HumanEmulator.
    include (“gen_login_pass.php”); // генерирует логины и пароли, это я юзал для добавления никнеймов в создаваемых постах
    include (“generator.php”); // этот файлик генерирует на сколько помню просто рандомные цифры в заданом интервале
    include (“rezka.php”); // это вообще не помню зачем нужно. :) Помойму кеи резать на 2-3-4 словные..
    Основа скрипта состоит из 3-х частей.
    1. include (“wp-config.php”); // подключаем конфиг
    2. function AddPost($Title, $Content, $Date) { … } – создаем пост
    3. $aaa = AddPost($bol, $mm, $vrema); // добавление поста

  5. [...] тут вариант автопостинга в wordpress и решил поделиться [...]

Отправить комментарий