Вам потрібно дозволити іншим користувачам, які ніколи не мали справу з WordPress, чи залишати пости на вашому сайті? Чи вам набридло витрачати зайві гроші на навчання та підтримку кількох нових авторів?
З цього посібника ви дізнаєтеся, як налаштувати функцію фронт-енд для нових користувачів WordPress, яка буде все контролювати, і ви забудете, що таке навчання та підтримка.
Дивіться також:
Є безліч розділів, до яких ви, швидше за все, хочете дозволити доступ гостям сайту або дозволити постійним користувачам залишати свої записи, не запитуючи адмін-доступу до панелі управління wordpress.
Кожен сайт на WordPress, який представляє будь-яке співтовариство (наприклад, спортивний клуб, школа, асоціації чи журнал), ймовірно, має безліч читачів, серед яких є й автори, які бажають розмістити свій контент.
На вашому сайті буде розміщено проста форма, яка дозволить гостям та незареєстрованим відвідувачам створювати та додавати свої записи.
Саме цю функцію виконує плагін DJD Site Post. Спершу ми встановимо та налаштуємо його, а потім активуємо форму. Також ми розглянемо додаткові функції, як, наприклад, зміна форми та відкриття доступу користувачам до адмінки WordPress.
Але спочатку нам потрібно встановити та налаштувати плагін DJD Site Post.
плагін DJD Site Post
Якщо ви не знаєте, що таке плагіни і як їх встановлювати, перегляньте цей урок.
Налаштування плагіна
Після встановлення та активації плагіна вам знадобиться додати нову сторінку із шорткодом перед тим, як повністю налаштувати плагін.
Перейдіть в меню Сторінки → Додати нову та створіть нову сторінку з відповідним заголовком. У тілі сторінки введіть наступний шорткод:
[djd-site-post]
Після натискання кнопки Опублікувати не залишаючи Консоль відразу ж подивіться на адресний рядок у браузері, нас цікавить код PostID для цієї сторінки. Ви побачите на адресі щось на кшталт post.php?post=15917, Де 15917 буде кодом PostID, який нам потрібний. Запам'ятайте цей код.
Тепер перейдіть до параметрів плагіна в меню Установки → DJD Site Post.
У налаштуваннях є пояснення кожному з параметрів, але деякі ми все ж таки розглянемо докладніше:
- Form Title — це заголовок, який має бути зверху форми. На жаль, за умовчанням, при збереженні поста без заголовка, відображається порожнє поле для заголовка, що може трохи дратувати. А те, як можна видалити заголовок зовсім, ми розглянемо трохи далі.
- Edit Page ID — тут ви вводите сторінки PostID, яку ви щойно створили.
- Статус публікації - Доступний повний перелік статусів постів. Як на мене, статус Pending («очікування» або «на модерації») є найбільш підходящим, тому що ви зможете спочатку переглянути пост і вибрати для нього правильну категорію, перш ніж він буде опублікований на сайті.
- Hide WordPress Toolbar — функція використовується, щоб повністю приховати адмінський профіль (інтерфейс).
- Allow guest to post (дозвіл доступу гостям до посту) — в більшості випадків немає потреби надавати доступ гостям, а саме незареєстрованим користувачам. Але якщо ви хочете, щоб усі могли робити пости, то ця функція створена саме для цього.
- Allow Guests to select Category (дозвіл гостям вибирати категорію для розміщення постів) — це стосується всіх, хто користується формою.
- Category for Guest Posts (категорія для гостьових постів) — Виберіть потрібну категорію (наприклад, «матеріали»).
- Require a Title (обов'язкова наявність заголовка) – обов'язково перевірте. Якщо користувач не заповнив це поле, вам необхідно буде зробити це самому.
- Allow Media Upload (дозвіл додавання медіа-файлів) - вважаю цю функцію дуже необхідною.
- Email & Name for Guest Posts (вимога ввести адресу пошти та імені користувача) — це не так уже й необхідно, якщо ви вже запитуєте ці дані при вході користувача в систему.
Ви можете визначити для себе найважливіші поля. Використовуйте лише ті, які вважаєте за потрібні для заповнення.
Коли ви закінчите налаштування, натисніть на зберегти зміни. На сторінці, яку ви створили раніше, має з'явитися така форма:
Оформляємо форму за допомогою CSS
Я не був у великому захопленні від зовнішнього вигляду набутої форми, тому почав шукати варіанти, як її можна переробити та покращити.
Я вирішив скористатися плагіном Простий користувацький CSS, який дозволяє відредагувати та видозмінити стиль теми оформлення чи плагіна.
Після встановлення цього плагіна та переходу в меню Зовнішній вигляд → Custom CSS, я зміг налаштувати нашу форму додатково, а саме:
- видалити заголовок взагалі
- видалити кордон навколо форми
- додати більше місця навколо кнопки Add Media button («Завантажити медіа-файл»)
- додати рамку навколо форми
- зручніше розташувати кнопку «Увійти»
form#site_post_form legend { display: none; } form#site_post_form { border: 0px; width: 100%; margin: 0px; padding: 0px; } a#insert-media-button { margin-top: 10px; margin-bottom: 10px; } div#wp-djdsitepostcontent-editor-container { border: 1px solid rgb(159, 159, 159); margin-bottom: 20px; } button.send-button { display: block; margin: 20px 0px; } .djd_site_post_form div#field-wrapper { margin: 0px; padding-left: 0px; }
Але врахуйте, що видозміна форми може залежати від вибраної теми оформлення (я використовував Twenty Fourteen).
Вибір відповідної ролі користувача
Плагін DJD Site Post пропонує досить зручну систему, яка дозволяє відвідувачам заходити на сайт. Плюс у тому, що користувачам не потрібно запам'ятовувати логін, а мінус у тому, що гості сайтів не можуть бачити завантажені файли зареєстрованих.
Я пропоную наступний підхід. Створити для користувача певну роль, увімкнути для цієї ролі відповідні можливості та використовувати їх для взаємодії з нашою формою. Це можна легко зробити за допомогою плагіну Розширений менеджер можливостей.
Створюємо нову роль користувача
Встановіть плагін Capability Manager Enhanced, а потім натисніть Користувачі → Capabilities. У правому вікні меню в Створити нову роль наберіть "Гість дописувача" і натисніть Створювати. Віджет Select Role to View/Edit має змінитися. Якщо ні, то виберіть зі списку вашу нову роль і натисніть на Навантаження.
Ось які можливості ми пропонуємо:
- Записи — Редагування
- Інші можливості WordPress — Читання
- Інші можливості WordPress — Завантаження файлу.
От і все. Наше основне завдання – надати користувачам такі можливості, які відповідають їхнім запитам та допоможуть у вирішенні їхніх завдань.
Чи потрібно обмежити доступ до консолі WordPress?
Це дуже цікаве питання. За замовчуванням, коли один із користувачів авторизується, то у нього з'являється доступ до постів (редагування постів), до медіа-файлів (можливість завантажувати медіа-файли) та до редагування свого профілю.
Установка плагіна Видалити доступ до панелі інструментів дає можливість обмежити доступ до цього всього або вибрати частково конкретні розділи.
Щоб обмежити доступ до панелі інструментів, потрібно перейти в Установки → Dashboard Access.
Якщо стандартні права (manage_options) будуть заважати іншим користувачам використовувати адмін-інтерфейс, ви можете створити додаткові можливості за допомогою Сapability Manager Enhanced:
- У меню Користувачі → Capabilities виберіть адміністратор у віджеті Select Role to View / Edit та натисніть на Навантаження.
- Потім у віджеті Add Capability Натисніть на додавати.
- Перейдіть вниз до Додаткові можливості і поставте галочку біля «доступу до панелі» та натисніть на зберегти зміни.
Повторіть цю дію всім користувачам, до яких ви хочете відкрити доступ до інтерфейсу адміністратора, і виключіть тих, кому ви хочете його закрити.
Поверніться до налаштувань Доступ до інформаційної панелі і знайдіть у списку access_dashboard. Клацніть на Завантажити користувачів, щоб редагувати свої фотографії в таблиці, що означає, що користувачі можуть змінювати свій профіль, змінювати пошту. Потім введіть відповідну URL-адресу в Redirect URL. Це може бути домашня сторінка. Натисніть на зберегти зміни і все готово.
У підсумку
У результаті, ми маємо форму, яка дозволяє користувачам створювати пости, і це добре. Але ми можемо її покращити двома способами.
Перше. Це обмежити можливість використання форми надалі. На даний момент кожен зареєстрований користувач бачить форму, що може бути не дуже добре для вас, особливо за наявності великої кількості передплатників.
Для того, щоб обмежити цей доступ, скористайтеся Capability Manager і додайте нову можливість front_end_submit для тих користувачів, яким ви бажаєте залишити доступ.
Друге. Налаштувати спливаюче вікно з формою реєстрації для гостей, які не є зареєстрованими. Якщо вас не бентежать пости від анонімних користувачів, або у вас є така форма у вашій темі на WordPress, то вам це робити необов'язково. Але в такому разі буде логічним розмістити форму реєстрації на самій сторінці.
Якщо ви хочете зробити і те, і то одночасно, додайте цей код у файл functions.php у вашій темі оформлення:
function site_post_access( $content ) { $message = ''; if ( !is_user_logged_in() ) { $message = '<p>You need to log in to submit a news item.</p>' . wp_login_form( array( 'echo' => false ) ); } elseif ( !current_user_can( 'front_end_submit' ) ) { $message = '<p>You do not have access to this function.</p> '; } if ( $message != '' ) { $content = str_replace('[djd-site-post]' , $message , $content ); } return $content; } add_filter( 'the_content' , 'site_post_access' , 0 );
На цьому все. Сподіваюся, вам знадобиться цей посібник з додавання форми для гостьових постів.
Коментарі до запису: 12
Давно шукав як дозволити користувачам писати не заходячи в адмінку - дуже допомогло спасибі…
ииии
Здорово! Якраз шукав такого роду плагін для сайту новин. А то конкуренти мають таку можливість додавати пости (у них не wordpress), а в мене немає. Ось тільки чи працює цей плагін у нових версіях WP? На wordpress.org написано Compatible up to: 3.6.1, а зараз версія WP 3.9+ скоро буде 4+. До того ж, Tiny оновився.
Дуже дякую за хороший мануал. Дуже допомогло! Усього гарного… З повагою.
Дякую, але у мене не виходить кнопка «Завантажити медіа-файл» у плагіні DJD POST, які ще є плагіни на кшталт цього?
У мене ця кнопка є, але натискаючи на неї, не з'являється вікно завантаження файлів.
Це те, що я шукав) Але є одна проблема, можливо, допоможете вирішити. Я відзначаю чекбокс "Allow Media Upload", але кнопка "Додати медіафайл" видно тільки тоді, коли я залогінен як адмін. Якщо я перебуваю на сайті як гість, то кнопки немає, хоча в налаштуваннях відзначив "Allow guests to post". Я десь щось упустив? Чому кнопку не видно гостю? Виручайте)
Швидше за все, додавати медіафайли гості справді не можуть, таке обмеження з метою безпеки.
дякую, а як зробити так, щоб DJD Site Post Settings запобігав сторінку, а не запис?
У мене немає кнопки Sabmit. Чи не знаєте причину?
Чомусь у формі djd-site-post кнопка «додати медіафайл» з'являється тільки для адмінського обліку, для користувача її немає ... Але і для адмінської вона не працює. Підкажіть, де шукати проблему?
Допоможіть встановити DJD Site Post, а також Buddypress. Все працює, але тільки як зробити, щоб автор посту бачив свої публікації і міг їх справляти. Зараз можливо лише написати та відправити на модерацію. Велике спасибі.
Лінк - blog.schuberttravel.com.ua