Как добавить запись в блог WordPress не из админки?
Понадобилось мне на одном из моих новых сайтов сделать добавление записей не через админку вордпресса, а используя свою сверстанную страницу с нужными мне полями и дизайном. Конечно перед тем, как заморачиваться скриптами, я начал искать уже готовые плагины и можно сказать безрезультатно потратил на это целый день. Ни один из них не удовлетворил меня и мне пришлось задуматься о своей странице добавления и редактирования записей на сайте.
На данный момент страницу я еще не сделал, но механизм добавления работает и работает отлично. Ниже идет пример запустив который, на вашем сайте появится новая запись. При добавлении можно прописывать рубрики, теги, авторство и даже кастомные поля(Custom fields). Ну и конечно можно добавлять как записи, так и страницы. Не забудьте поменять пусть к файлу wp-config.php.
PHP
<?php
require_once('wp-config.php'); //Путь к вашему файлу wp-config.php
post_a_news();
function post_a_news() {
// Создание поста
class wm_mypost {
var $post_title;
var $post_content;
var $post_status;
var $post_author; /* ID автора (не обязательно) */
var $post_name; /* slug (не обязательно) */
var $post_type; /* 'page' или 'post' (не обязательно, поумолчанию 'post') */
var $comment_status; /* открыты или закрыты комментарии (не обязательно) */
}
$wm_mypost = new wm_mypost();
$wm_mypost->post_title = "Заголовок поста";
$wm_mypost->post_content = "Контент записи";
$wm_mypost->post_excerpt = "Цитата";
$wm_mypost->post_status = 'publish';
$wm_mypost->post_author = 1;
$wp_rewrite->feeds = 'no';
$wm_mypost->comment_status = 'closed';
echo "ID:" . $postid = wp_insert_post($wm_mypost);//Создаем пост и...получаем ID новоиспеченного поста
add_post_meta($postid, 'fio', 'Иванов Иван Иванович', true) or update_post_meta($postid, 'fio', 'Иванов Иван Иванович'); //Заполнение кастомных полей
wp_set_post_tags( $postid, 'метка1, метка2', true );//Добавления меток
}
?>
Таким образом можно заполнить сайт на движке wordpress чем угодно не заходя в админку и даже не не зная логина и пароля к ней! Например можно создавать кучу говносайтов, которые автоматически заполнять разным бредом или другой сграбленной информацией не используя сторонних плагинов. А если удастся загрузить этот скрипт на ФТП, где установлен wordpress, то можно незаметно добавлять записи на чужой сайт с вашими ссылками. Но про добавление ссылок в чужие посты, есть более красивый способ, о нем я расскажу в следующий раз.
Мне же данный код поможет сделать свою форму добавления записей на сайт со своей структурой, внешним видом и кучей других дополнительных полей, которых не хватает в стандартном посте.
Похожие записи:
- Как вывести записи на сайте только из определенной рубрики – WordPress
- WordPress: Как вывести список загруженных файлов к посту?
- Ограничиваем доступ к части поста для незарегистрированных пользователей – WordPress
- Как сделать часть записи видимой только подписчикам вашей RSS-ленты?
- Удачное обновление движка WordPress
Однострунный музыкант
Удобный плагин постраничной навигации на jQuery для вашего сайта
Поколение П – трейлер
Хатико: Самый верный друг / Hachiko: A Dog`s Story (2009) DVDRip
BBC: Тайная жизнь хаоса
Самый маленький в мире револьвер
Назад в будущее (озвучка)
Деньги – пирамида долгов
Японские заталкиватели
Mirage 3D – голограммы без электричества
Google Chrome – анонс нового браузера
Анимация приготовления пищи
Качать фильмы бесплатно и с прямыми ссылками
Enigma – Seven Lives
Будда-груша
Bionic Commando Rearmed
Phoenix Image Editor – он-лайн редактор и картинок
Как создавалась очеловеченная Jessica Rabbit
Зажимает ли провайдер BitTorrent трафик
Динозавры на сцене
Будни буржуйского сисадмина
Живой автомобиль BMW (BMW GINA Light Visionary Model)

вот те на)))
— 16 августа 2010 @ 15:58
Понятно, благодарю за информацию.
— 1 октября 2010 @ 14:01
Расскажите, пожалуйста, поподробнее, как мне всё это внедрить в сайт.
Мне нужно, чтобы :
1) посетители регистрировались в на форме сайта, а не WP.
2) добавляли статьи тоже из формы сайта, без захода в админку, но под своими логинами.
— 16 октября 2010 @ 21:14
Ну поидее есть очень много плагинов, для кастомизации регистрационной формы, которые позволяют сделать ее какой угодно и с любыми полями.
По второму пункту как раз поможет данный код. Этот код именно создает новый пост и добавляет запись в базу данный. Для этого кода достаточно сверстать ХТМЛ-ную форму, поля которой будут передаваться этому скрипту, который их и добавит в пост. По сути ничего сложного нет, я при помощи этого скрипта сделал сайт http://revac.ru/. На этом сайте пользователи даже не зарегистрированные на сайте могут добавлять новые резюме и вакансии. Много еще чего там не сделано, но большая часть функционала уже есть.
— 18 октября 2010 @ 21:29
Мне понравился ваш сайт и форма.
Я пока не очень разбираюсь с php и html, но учусь. Не затруднит ли вас написать пример такой формы и расписать как её внедрить тут или прислать мне на почту, или может пример с вашего сайта объявлений. Мне не для этих целей надо, но я бы попробовала его переделать под свои нужды.
Спасибо, что отвечаете на сообщения. Адрес моей почты вы знаете.
— 20 октября 2010 @ 17:11
С 1м пунктом разобралась, нашла плагины Theme My Login и Theme My Profile. Разобралась сама, только надо внешний вид подправить. Рекомендую. Постоянно обновляются и поддерживаются разработчиком.
— 20 октября 2010 @ 17:15
Я даже и не знаю с чего начать если честно, да и в комментариях писать код не получится, теги все съедятся, я напишу пост как сделать форму с парой полей и добавления их в базу вордпресса.
— 24 октября 2010 @ 02:40
Здравствуйте!
Админ. Хотелось бы поговорить насчёт рекламы в вашем блоге. Если вы согласны, отпишите ваши условия на e-mail. Благодарю.
— 1 ноября 2010 @ 18:18
Изумительная статья, как долго ожидать публикации нового материала и вообщем стоит ждать ?
— 15 ноября 2010 @ 17:49
Жалко, что в комментах незя
Но все равно спасибо автору
— 12 декабря 2010 @ 18:09
Подскажите пожалуйста… Если использовать и заполнить поле custom field вылетает ошибка 404. От чего это зависит?
— 25 марта 2011 @ 08:33
Хорошая статья! Автору респект)
— 8 апреля 2011 @ 21:49