Наложи ми се преди време към един сайт да направя 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 запишете този код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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 запишете този ред:
1
|
<div>Съжаляваме, но Вие нямате достъп до тази информация!</div> |
6. Отидете в административният панел на сайта си и активирайте приложението MyRestrict
Стъпка 2 – активирайте страницата и предоставете достъп
Отидете в страницата за която искате това приложение да функционира. Изхождаме от факта, че тази страница ще се отваря от пет човека, с различни потребителски имена и пароли, и ще виждат съответно различна информация.
В полето Custom Fields веднага под частта със съдържанието на дадена страница, напишете allowed_user и съответно изберете кои потребители да имат достъп (виж снимката по-долу)
С тази команда реално казвате на сайта, кой има право с паролата си да влиза в тази страница и на кой ще му бъде забранено. В нашият случай, ако сайта има въпросните 5 потребителя, само потребителите с ID 1 и 2 имат право да влизат в тази страница.
В следваща статия ще продължа темата за това, кой от тези които имат достъп до тази страница, какво да вижда в нея и какво не.