После использования 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 --> |
Так будет выглядеть форма добавления статьи на главной странице блога перед постами
Скачать плагин Pasthaste для добавление статей с front-end
3. Редактирование статей с фронта
Для этих целей подходит плагин front-end-editor. После авторизации доступные для редактирования части вашего блога подсвечиваются желтым, а само редактирование доступно после двойного клика. Результаты сохранаются в БД с помощью того же AJAX.
Скачать плагин Front-end Editor для редактирования статей с front-end
А есть примеры реализации? Хотелось бы демо попробовать перед тем, как заморачиваться.
Демо можно попробовать, просто установив описанные плагины на тестовом wordpress.
Здравствуйте. Плагин posthaste, то что нужно! Не подскажете, как сделать, чтобы форма добавления статей выводилась только на одной статической странице?
Если кратко, видится такая логика:
1. Вызывать форму добавления статьи в шаблоне страниц page.php так: <?php if(function_exists(posthasteForm)) { posthasteForm(); } ?>. Для этого судя по readme.txt плагина необходимо закомментировать строку //add_action('get_sidebar', removePosthasteInSidebar);
2. Так как необходимо показывать форму только на одной странице, функцию posthasteForm() надо вызывать по условию на id страницы, примерно такому:
Спасибо, попробую
ссылки на скачивание битые
Действительно первая битая, спасибо, исправлю вечером.
Добрый день.
Не подскажите, а можно ли реализовать еще редактирование с фрон-енда и удаление статей с фрон-енда? Т.е. мне нужно чтобы пользователи сами смогли добавить статью, потом отредактировать её и потом удалить, при необходимости???
Наверняка можно, но думаю с помощью других плагинов, обеспечивающих одинаковый функционал для многих пользователей (как в wordpress-расширении MU). Посмотрите плагин Article Directory в каталоге плагинов WordPress, кажется это то что вам нужно.
Я его и использую, только он не позволяет редактировать. Только создавать новые статьи.
Может тогда WP MU подойдет?
А что он может WP MU? Он слишком сложный для конечных пользователей? Или в нем можно настроить так, чтобы пользователи создавали себе блоги, на которых они будут писать статьи, без захода в админку?
Да направление такое, здесь вся начальная информация по нему mu.wordpress.org.
Спасибо большое, а то все ни как не могла придумать, что использовать для возможности добавления статей пользователями