Наложи ми се преди време към един сайт да направя WordPress Custom Login page, която страница да предоставя на различни хора, с различни пароли, различна информация. Понякога не е необходимо да сваляте всичко от WordPress.org, като приложения, а по-добре да си го направите сами (в конкретният случай, трябва поне малко да разбирате от php). В следващите редове накратко и със снимки ще покажа как да го направите.
Стъпка 1 – Как да направите WordPress Custom Login page за различни хора с различни пароли и различна информация?
Първо да кажа, че ако разполагате с достъп до cPanel – това упражнение може да го направите директно вътре. Ако не (някои хостинг компании имат собствен админ панел) пътя е същият.
1. В cPanel влизате в File Manager > public_html > wp-content > plugins
2. Създавате нова папка, която е кръщавате My Restrict (папката се създава от бутона в хедъра +Folder)
3. В новата папка създавате два файла (файлове се създават от бутона в хедъра +File), както следва:
– myrestrict.php
– not-allowed.php
4. Във файл myrestrict.php запишете този код:
<?php /** * Plugin Name: My Restict * Plugin URI: http://blogalizator.com * Author: B.N. */ function my_restict_template_filter( $template ) { if ( is_page() ) { $post = get_queried_object(); $allowed = (string) get_post_meta($post->ID, 'allowed_users', true); if ( $allowed ) $allowed = array_map('trim', explode(',', $allowed) ); $user = wp_get_current_user(); if ( ! empty($allowed) && ( ! is_object($user) || ! in_array($user->ID, $allowed) ) ) return plugin_dir_path(__FILE__) . 'not-allowed.php'; } return $template; } add_filter('template_include', 'my_restict_template_filter');
5. Във файла not-allowed.php запишете този ред:
<div>Съжаляваме, но Вие нямате достъп до тази информация!</div>
6. Отидете в административният панел на сайта си и активирайте приложението MyRestrict
Стъпка 2 – активирайте страницата и предоставете достъп
Отидете в страницата за която искате това приложение да функционира. Изхождаме от факта, че тази страница ще се отваря от пет човека, с различни потребителски имена и пароли, и ще виждат съответно различна информация.
В полето Custom Fields веднага под частта със съдържанието на дадена страница, напишете allowed_user и съответно изберете кои потребители да имат достъп (виж снимката по-долу)
С тази команда реално казвате на сайта, кой има право с паролата си да влиза в тази страница и на кой ще му бъде забранено. В нашият случай, ако сайта има въпросните 5 потребителя, само потребителите с ID 1 и 2 имат право да влизат в тази страница.