Отборная информация, которая вставляет!

Социальные сети на wordpress — 1 часть

соц сеть wpКогда-то я уже рассказывал о том, как сделать блог с функционалом социальных сетей на базе wordpress. С тех пор прошло пару лет, wordpress стал еще дальше отдходить от простого блогового движка, появились новые плагины, новые функции и теперь я еще раз хочу поднять эту тему.

UPD. Важное обновление — статья уже не актуальна. Сейчас можно получить все функции социального портала на базе wordpress при помощи всего одного плагина

В серии статей пойдет речь о том как сделать:

  1. Добавить возможность добавления пользователями статей без захода в админку
  2. Расширенные профили пользователей с возможностью редактирования без захода в админку
  3. Возможность пользователям добавлять свою аватарку
  4. Рейтинг статей с поддержкой микроформатов
  5. Блок регистрации, расширенные функции регистрации и изменение стандартных страниц логина wp
  6. Социальные функции, виджеты, комментарии, лайки от вконтакте и фейсбук

UPD. Весь цикл статей закончен, вот все ссылки из цикла

1 часть — создаем возможность писать на сайте с фронтенда и редактировать профиль.

2 часть — Плагины для кастомизации логина (попапы, кастомизация стандартного логина, редиректы) и регистрации.

3 часть — Рейтинги статей

4 часть — виджеты социальных сетей и интеграция социальных сетей на сайт

Для чего это нужно? Есть, очень много сфер применения. Доски объявлений, мультиавторские блоги, каталоги предприятий, сайты-сообщества по типу хабра.

Не буду тянуть кота за яйца, перейдем к делу.

Итак, раньше, чтобы дать возможность добавления пользователями статей приходилось использовать тяжелый и навороченный плагин созданий форм tdo-mini-forms + подключать виз редакторы на фронтэнде. Сейчас это все делать не нужно, так как в wordpress появилась функция, который выводит стандартный виз редактор на любую страницу сайта, а визуальный редактор в wordpress я считаю самым лучшим из всех, что есть.

Чтобы не писать свой код, можно восспользоваться отличным плагином WP User Frontend

Что он умеет?

  • Добавляет возможность добавлять статьи с сайта (с определенным статусом, например, сразу публиковать или же отправляет на модерацию)
  • Добавляет возможность редактирования профиля с сайта
  • Добавляет возможность скрытия админки для всех, кроме админа (или по ролям)
  • Добавляет возможность пользователям устанавливать миниатюру поста
  • Возможность создания платного добавления статей (только под 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.


Для начала это плагин Profile Builder. Позволяет настраивать профиль пользователя как вам захочется без того, чтобы лезть в код темы. Правда лучшие его функции доступны только в платной версии. Также неплох плагин User Meta. У обоих плагинов нет возможности давать пользователям добавлять статьи на сайт, они предназначены прежде всего для профилей.

Если нужно отдельно возможность добавления пользователями любых данных, то посоветую плагин gravity forms и ninja forms. Оба платные, но дают очень мощный функционал добавления любых данных с сайта. Из бесплатных есть Ads WordPress 4.

На этом все на сегодня. В следущей части поговорим о процессе регистрации, как сделать редиректы после логина, как кастомизировать страничку входа, как предотвратить спамные регистрации и т.д.

К стати, wpuf довольно прожорливый плагин, поэтому желательно его ставить на лучших хостингах. Как например у хостинг провайдера e-planet, который позволяет очень гибко сформировать вам цену вашего хостинг плана в зависимости от тех условий, что вам требуются для ваших сайтов.


 

Похожие статьи:



6 комментариев к “Социальные сети на wordpress — 1 часть”

  1. Здравствуйте. Я не так давно начал работать с Joomla, но вот обратил внимание на вордпрес. Стоит задача сделать такой сайтик.Есть меню с разделами допустим (образование, самообучение, хобби и т.д. ). Заходим в раздел хобби и видим список заметок пользователей (тема, краткое описание, Имя пользователя, дата добавления, количество комментариев). При нажатии на тему или кнопку подробнее, открывается страница с полным описанием и возможностью комментирования данной заметки. Причем заметки могут оставлять только зарегистрированные пользователи, а вот камменты могут писать как и зарегистрированные пользователи так и гости (не зарегистрированные).Насколько сложно реализовать такое в вордпрес? Какие плагины нужны и нужны ли вообще? Если что не так объяснил или мой вопрос является глупым, прошу не пинать меня, а объяснить подробнее как где и что, так как не работал с вордпресом до этого.Буду очень благодарен.

    • ETNO:

      ну так собственно этот цикл статей как раз и об этом и плагины описаны в этой статье все нужные для вас. Только если вы раньше вообще не работали с wp и вообще не имеете знаний ни в php ни в верстке хотя бы, то тяжело будет, но возможно

  2. Очень толковая статья, спасибо. Давно искал информацию о том, как организовать возможность для пользователей добавлять статьи и вот наконец то то что нужно. Спасибо за подробный рассказ. Пробую!

  3. Насчёт того, чтобы пользователь при загрузке медиа видел только свои файлы.
    1. Я не программист, поэтому что конкретно делает этот код?
    2. Администратор сайта при этом тоже будет видеть только свои файлы или все?

    • ETNO:

      по умолчанию, юзеры будут видеть изображения всех остальных и смогут их удалять, а оно нужно? Т.е. этот код делает так, чтобы юзеры могли загружать, видеть, удалять только свои изображения. Админ видит все как и раньше

  4. Коляныч:

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

оставить отзыв

Если хотите вставить код в комментарии, то оберните его тегами ‹pre›‹/pre›