Вы ежедневно тратите большую часть своего времени на заполнение сайта свежим контентом. Даже подобрав материал и картинки, потребуется не одна минута, что бы скомпоновать и загрузить данные в блог. Если же блогов десятки и сотни, то целый день уйдет только на это. Зачем все делать руками, когда за вас это может сделать программа, причем в десятки потоков?
Предлагаем вашему вниманию скрипт автоматического наполнения контентом сайта на WordPress. Он создан с учетом различных алгоритмов выполняемых действий. Скрипт забирает из заданных папок контент и картинки, после чего публикует в заданное вами время. Формат материалов может быть как в текстовом варианте, так и в html.
Как работает скрипт. В папке со скриптом есть папки data/articles и data/images. В первую папку мы добавляем статьи, которые скрипт должен будет опубликовать. Причём для каждой категории создаётся своя папка, например : data/articles/айкидо или data/articles/бокс и т.д., и туда складываются статьи для этой категории. Когда скрипт берёт статьи из этих папок, он проверяет, есть ли уже такие категории, если категории нет, то скрипт добавляет её. Название txt файла является заголовком статьи, а содержимое телом. Скрипт так же добавляет и тэги для статьи. Тэгами служат название категории, название статьи, а так же все слова из названия статьи. Если в статье вставлены картинки, например:
1 2 3 4 |
<i><img style="margin-top: 5px; margin-bottom: 5px; border: #000000 1px;" title="Ингемар Юханссон. Фотографии" src="http://justboxing.net/images/Foto/title/Ingemar_Johansson_title.jpg" alt="Ингемар Юханссон" width="650" height="400" /></i> или <i><img style="margin-top: 5px; margin-bottom: 5px; border: #000000 1px;" title="Эззард Чарльз. Фотографии" src="/images/Foto/title/Ezzard_Charles_title.jpg" alt="Эззард Чарльз. Фотографии" width="650" height="400" /></i> |
,
то скрипт проверяет если такие картинки в папке data/images, если нет, он проверяет указанный src в тексте, если src относительный (src=»/images/Foto/title/Ezzard_Charles_title.jpg») картинка удаляется, так как скачать её он не сможет,
если путь абсолютный (src=»http://justboxing.net/images/Foto/title/Ingemar_Johansson_title.jpg»), скрипт идёт по заданному адресу и качает оттуда картинку. Если картинка не закачалась, то скрипт удаляет картинку из текста. Таким образом, у вас получаются красивые живые статьи с картинками на вашем сайте.
Все опубликованные статьи и картинки скрипт переносит в папки res/articles и res/images.
Скрипт можно поставить на расписание скриптов и запускать раз в какой-то период времени, например раз в 6 часов или раз в сутки.
В указанное время скрипт будет ходить по папкам и проверять появились ли там статьи. Если статьи появились он их публикует на сайт.
Настройки скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// настройки админки wordpress $blog = "адрес админки wordpress"; $blog_login = "логин админки"; $blog_pwd = "пароль админки"; // настройки ftp $ftp_server = "ftp сервер"; $ftp_user = "ftp пользователь"; $ftp_pass = "ftp пароль"; // путь к папке со статьями $path_to_artcls = "data/articles/"; // путь к папке с рисунками $path_to_imgs = "data/images/"; // путь к папке с добавленными статьями $path_to_res_artcls = "res/articles/"; // путь к папке с добавленными рисунками $path_to_res_imgs = "res/images/"; // папка для хранения рисунков на сайте - в эту папку мы быдем заливать картинки по ftp $img_folder = "img/"; // ftp папка сайта с wordpress $ftp_folder = "/public_html/WordPress/"; |
Сам скрипт выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
<?php $xhe_host ="127.0.0.1:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // ////////////////////// настройки скрипта /////////////////////////// // настройки админки wordpress $blog = ""; $blog_login = ""; $blog_pwd = ""; // настройки ftp $ftp_server = ""; $ftp_user = ""; $ftp_pass = ""; // путь к папке со статьями $path_to_artcls = "data/articles/"; // путь к папке с рисунками $path_to_imgs = "data/images/"; // путь к папке с добавленными статьями $path_to_res_artcls = "res/articles/"; // путь к папке с добавленными рисунками $path_to_res_imgs = "res/images/"; // папка для хранения рисунков на сайте $img_folder = "img/"; // ftp папка сайта $ftp_folder = "/public_html/WordPress/"; // режим отладки $dbg = true; // ///////////////////////// дополнительные модули ///////////////// // функции require_once("tools/ftp.php"); require_once("tools/functions.php"); // ///////////////////////// сам скрипт //////////////////////////////////////// debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт запустили"); // получаем массив каталогов статей $arr_of_cats = scandir($path_to_artcls); // пробежимся по всем каталогам foreach($arr_of_cats as $category) { // пропустим пустые if ($category == "." or $category == "..") continue; $arr_of_arts = scandir($path_to_artcls . $category . "/"); // значит папка со статьями не пустая - работаем foreach($arr_of_arts as $article) { //пропустим пустые if ($article == "." or $article == "..") continue; // редактируем статью и картинки $s_body = post_art($article); sleep(2); // добавляем статью на сайт add_new_article($article, $s_body, $category); // переносим статью из папки data в папку res // проверяем существование категории статьи if (!$folder->is_exist($path_to_res_artcls . $category . "/")) { // создаем папку с категорией if ($folder->create($path_to_res_artcls . $category . "/")) { debug_mess("Папка $category создана"); } else { debug_mess ("Папка $category НЕ создана!!!"); } } // перемещаем статью if ($file_os->move($path_to_artcls.$category."/".$article, $path_to_res_artcls.$category."/".$article)) { debug_mess("Статья $article успешно перемещена."); } else { debug_mess("Статья $article НЕ перемещена!!!"); } } } debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт закончил работу<br>"); // Quit $app->quit(); ?> |
Скрипт написан 01.02.2012 в Human Emulator 4.6.2 Advanced.