Когда-то я уже рассказывал о том, как сделать блог с функционалом социальных сетей на базе wordpress. С тех пор прошло пару лет, wordpress стал еще дальше отдходить от простого блогового движка, появились новые плагины, новые функции и теперь я еще раз хочу поднять эту тему.
UPD. Важное обновление — статья уже не актуальна. Сейчас можно получить все функции социального портала на базе wordpress при помощи всего одного плагина
В серии статей пойдет речь о том как сделать:
- Добавить возможность добавления пользователями статей без захода в админку
- Расширенные профили пользователей с возможностью редактирования без захода в админку
- Возможность пользователям добавлять свою аватарку
- Рейтинг статей с поддержкой микроформатов
- Блок регистрации, расширенные функции регистрации и изменение стандартных страниц логина wp
- Социальные функции, виджеты, комментарии, лайки от вконтакте и фейсбук
Для чего это нужно? Есть, очень много сфер применения. Доски объявлений, мультиавторские блоги, каталоги предприятий, сайты-сообщества по типу хабра.
Не буду тянуть кота за яйца, перейдем к делу.
Итак, раньше, чтобы дать возможность добавления пользователями статей приходилось использовать тяжелый и навороченный плагин созданий форм tdo-mini-forms + подключать виз редакторы на фронтэнде. Сейчас это все делать не нужно, так как в wordpress появилась функция, который выводит стандартный виз редактор на любую страницу сайта, а визуальный редактор в wordpress я считаю самым лучшим из всех, что есть.
Чтобы не писать свой код, можно восспользоваться отличным плагином
Что он умеет?
- Добавляет возможность добавлять статьи с сайта (с определенным статусом, например, сразу публиковать или же отправляет на модерацию)
- Добавляет возможность редактирования профиля с сайта
- Добавляет возможность скрытия админки для всех, кроме админа (или по ролям)
- Добавляет возможность пользователям устанавливать миниатюру поста
- Возможность создания платного добавления статей (только под paypal)
Установить довольно просто, после всех настроек вам нужно создать несколько страниц и добавить в них шорткоды которые вы найдете в описание к установке.
Также я делал руссификацию (неполная) для себя, скачать русификацию. Расспакуете и кидайте содержимое в папку languages плагина.
Правда в текущей версии 1.1 есть 2 проблемы. Специально для читателей блога рассказываю как справиться с ними.
1 проблема — любому пользователю, кто имеет права загружать картинки, будут доступны абсолютно все картинки на сервере и он их может удалять. А это не дело, нужно ведь, чтобы каждый пользователь мог управлять только своими загруженными файлами. Лечится просто, добавляйте в functions.php вашей темы такой код
add_action('pre_get_posts','move_own_attachments');
function move_own_attachments( $wp_query_obj ) {
global $current_user, $pagenow;
if( !is_a( $current_user, 'WP_User') )
return;
if( 'upload.php' != $pagenow )
return;
if( !current_user_can('delete_pages') )
$wp_query_obj->set('author', $current_user->id );
return;
}
2 проблема. Если вы установили настройки так, чтобы после публикации пользователем материала, он отправлялся на модерацию, то после добавления статьи пользователь попадает на страничку редактирования черновика статьи, но так как статья не одобрена, он её не увидит и получит 404 ошибку. Лечиться опять же добавлением в functions.php
function custom_redirect( $url ) {
global $post;
return get_permalink( $post->ID=81 );
}
add_filter( 'wpuf_after_post_redirect', 'custom_redirect' );
вместо id=81 поставьте id той страницы, на которую хотите отправить посетителя после добавления статьи.
Теперь поговорим о профилях. Основное преимущество данного плагина, что он не переписывает стандартный функционал wordpress, а просто добавляет возможность редактирования профиля с сайта. А значит и все способы добавления и удаления полей и управлением профилем, которые я описывал в статье о профилях, а также здесь будут работать. Единственное, хотелось бы еще добавить возможность добавления пользователями аватарки. Нет ничего проще, устанавливаете и включаете этот .
Также хотел бы дать вам альтернативы плагина WPUF.
Для начала это плагин . Позволяет настраивать профиль пользователя как вам захочется без того, чтобы лезть в код темы. Правда лучшие его функции доступны только в платной версии. Также неплох плагин . У обоих плагинов нет возможности давать пользователям добавлять статьи на сайт, они предназначены прежде всего для профилей.
Если нужно отдельно возможность добавления пользователями любых данных, то посоветую плагин и . Оба платные, но дают очень мощный функционал добавления любых данных с сайта. Из бесплатных есть .
На этом все на сегодня. В следущей части поговорим о процессе регистрации, как сделать редиректы после логина, как кастомизировать страничку входа, как предотвратить спамные регистрации и т.д.
К стати, wpuf довольно прожорливый плагин, поэтому желательно его ставить на лучших хостингах. Как например у хостинг провайдера e-planet, который позволяет очень гибко сформировать вам цену вашего хостинг плана в зависимости от тех условий, что вам требуются для ваших сайтов.
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:
1. Я не программист, поэтому что конкретно делает этот код?
2. Администратор сайта при этом тоже будет видеть только свои файлы или все?