Добавление и редактирование статей с фронта

После использования Joomla и в частности ее функционал по редактированию и добавлению материалов с фронт-энда. В конечном итоге после логина (прохождения процесса авторизации) чаще всего на главной странице появлялось меню пользователя с ссылками на создание материалов. А около заголовков самих материалов появляется иконка редактирования.

В WordPress такого иногда удобного функционала, в отличии от Joomla, по умолчанию нет.
Решим эту задачу с помощью имеющихся на http://wordpress.org/extend/plugins/ плагинов.

1. Авторизация с фронта
Для этого хорошо подходит плагин login-box, как впрочем и login-with-ajax. В обоих случаях авторизация происходит при помощи AJAX, разница лишь во внешнем виде формы логина и настройках.
2. Публикация материалов с фронта
Используем плагин posthaste.
После установки и авторизации (с использованием установленных плагинов из предыдущего пункта) мы увидим простую форму добавления статей на главной странице нашего очередного блога на WordPress. Единственного чего в ней, пожалуй, не хватает это поля для ввода имени поста (/post_name/ в URL).
Для решения задачи добавим пару-тройку строк в основной файл плагина posthaste.php:

$user_id       = $current_user->user_id;
$post_content  = $_POST['postText'];
$post_name     = $_POST['postName']; // Наш post_name в POST-массиве
$post_title    = strip_tags($_POST['postTitle']);
$tags          = $_POST['tags'];
$post_category = $_POST['newcat_parent'];
$post_id = wp_insert_post( array(
            'post_author'   => $user_id,
            'post_title'    => $post_title,
	    'post_name'     => $post_name,      // наш post_name в параметрах функции создания поста
            'post_category' => $post_category,
            'post_content'  => $post_content,
            'tags_input'    => $tags,
            'post_status'   => $post_status
        ) );
<label for="postName">Post name:</label>
<input name="postName" id="postName" tabindex="1" /> <!-- поле в форме добавления для нашего post_name -->

Так будет выглядеть форма добавления статьи на главной странице блога перед постами
posthaste plugin wordpress front end add article

Скачать плагин Pasthaste для добавление статей с front-end

3. Редактирование статей с фронта
Для этих целей подходит плагин front-end-editor. После авторизации доступные для редактирования части вашего блога подсвечиваются желтым, а само редактирование доступно после двойного клика. Результаты сохранаются в БД с помощью того же AJAX.

Скачать плагин Front-end Editor для редактирования статей с front-end

Комментариев: 14

  • 25.04.2010 Кирилл:

    А есть примеры реализации? Хотелось бы демо попробовать перед тем, как заморачиваться.

  • 25.04.2010 Кирилл:

    Демо можно попробовать, просто установив описанные плагины на тестовом wordpress.

  • 04.09.2010 Алексей:

    Здравствуйте. Плагин posthaste, то что нужно! Не подскажете, как сделать, чтобы форма добавления статей выводилась только на одной статической странице?

  • 05.09.2010 Кирилл:

    Если кратко, видится такая логика:

    1. Вызывать форму добавления статьи в шаблоне страниц page.php так: <?php if(function_exists(posthasteForm)) { posthasteForm(); } ?>. Для этого судя по readme.txt плагина необходимо закомментировать строку //add_action('get_sidebar', removePosthasteInSidebar);

    2. Так как необходимо показывать форму только на одной странице, функцию posthasteForm() надо вызывать по условию на id страницы, примерно такому:

    if ($post->ID == 123)
    {if(function_exists(posthasteForm)) { posthasteForm(); }}

  • 05.09.2010 Алексей:

    Спасибо, попробую

  • 03.11.2010 TopClans:

    ссылки на скачивание битые

    • 03.11.2010 Кирилл:

      Действительно первая битая, спасибо, исправлю вечером.

  • 20.11.2010 Funtik44:

    Добрый день.

    Не подскажите, а можно ли реализовать еще редактирование с фрон-енда и удаление статей с фрон-енда? Т.е. мне нужно чтобы пользователи сами смогли добавить статью, потом отредактировать её и потом удалить, при необходимости???

    • 20.11.2010 Кирилл:

      Наверняка можно, но думаю с помощью других плагинов, обеспечивающих одинаковый функционал для многих пользователей (как в wordpress-расширении MU). Посмотрите плагин Article Directory в каталоге плагинов WordPress, кажется это то что вам нужно.

  • 20.11.2010 Funtik44:

    Я его и использую, только он не позволяет редактировать. Только создавать новые статьи.

  • 20.11.2010 Funtik44:

    А что он может WP MU? Он слишком сложный для конечных пользователей? Или в нем можно настроить так, чтобы пользователи создавали себе блоги, на которых они будут писать статьи, без захода в админку?

  • 05.09.2012 Виктория:

    Спасибо большое, а то все ни как не могла придумать, что использовать для возможности добавления статей пользователями


Добавление комментария:

 css.php