Ограничение видимости постов в WordPress Via Имена пользователей

Борьба кто может просматривать пост является простой задачей, как только система установлена.Ограничение доступа к определенным пользователям имеет несколько приложений, таких как включение дизайн-студии для распространения искусства в различных его клиентов, или включение небольшую школу для организации домашней работы будут размещены в Интернете с помощью дешевых и легко solution.


lpvuau-splash1

Простой способ получить работающую систему, чтобы сделать получателей информации “абоненты” (так как они не должны быть в состоянии отправить) и распространителей информации “авторы” (так как они должны только иметь возможность редактировать свои собственныесообщений).Эта система устраняет несколько головной болью для владельца сайта от управляющий, который имеет доступ к определенным posts.Имя пользователя будет использоваться для выявления лиц, которым разрешено просматривать определенные должности, так как он является уникальным и, по большей части, constant.

Basics

Что вам понадобится

  • WordPress 3.1 или later
  • Участники различных roles
  • Возможность изменить theme’ S files
  • Базовые знания PHP и MySQL

Что такое Имя пользователя

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

Для WordPress, имя пользователя является средством идентификации пользователя.В паре с паролем, имя пользователя позволяет кому-то получить доступ к своему профилю и, в зависимости от их разрешения в WordPress, чтобы получить доступ к административным страницам сайта.Имя пользователя может быть использован для многих функций в эксплуатации и управлению веб-сайта, такие как карма, престиж, ролей пользователей и expulsion.

Имя пользователя WordPress является уникальной и невозможной для среднего пользователя измениться.Таким образом, система является потенциально надежным средством идентификации физических лиц.Эта надежность имеет важное значение для системы, в которой сообщение должно быть видно только несколько человек.Разрешений сообщение не должно изменять только потому, что кто-то изменил свое имя или электронной почте address.


пользователем страницы в установке WordPress.Отметим, что “Имя пользователя не может быть изменено.”

Настройка назад End

Для того, чтобы автор, чтобы иметь возможность установить разрешения для видимости, метод отбора пользователи должныбыть установлен на странице редактирования поста.Мы могли бы сделать это одним из нескольких способов, один из самых простых и наиболее эффективным из которых является создание мета коробку (или виджет) на странице сообщению редактирования, что позволяет автору, чтобы добавить информацию в соответствии с требованиями тему или плагин.Эта информация дает нам возможность рассказать тема, которая члены должны иметь права на просмотр в частности posts.

Основные пользовательского Мета Box

Статья Джастин Tadlock в “ | Как создать пользовательские ящики Мета сообщения в WordPress” __3 объясняет, как создать мета коробки, и мы будем использовать этот код here.

Давайте предположим, что мы имеем дело с веб-сайта для музыкальной школы под названием “Smashing Magazine в Fancy флейтистов.« Мы будем использовать название smashing_flautist_access в коде для задней части, чтобы отличить его от других пользовательских функций.Justin’ с кодом является отличной отправной точкой для этого проекта, но для этого нужно немного настройки для наших целей.Поместите следующий код в ваш theme’ S functions.php и изменять различные этикетки в соответствии с вашими project.

/* Fire our meta box setup function on the post editor screen. */
add_action( 'load-post.php', 'smashing_post_meta_boxes_setup' );
add_action( 'load-post-new.php', 'smashing_post_meta_boxes_setup' );

/* Meta box setup function. */
function smashing_post_meta_boxes_setup() {

	/* Add meta boxes on the 'add_meta_boxes' hook. */
	add_action( 'add_meta_boxes', 'smashing_add_post_meta_boxes' );

	/* Save post meta on the 'save_post' hook. */
	add_action( 'save_post', 'smashing_flautist_access_save_meta', 10, 2 );
}

/* Create one or more meta boxes to be displayed on the post editor screen. */
function smashing_add_post_meta_boxes() {

	add_meta_box(
		'smashing-flautist-access',			// Unique ID
		esc_html__( 'Post Viewing Permission', 'smashing_flautist' ),		// Title
		'smashing_flautist_access_meta_box',		// Callback function
		'post',					// Admin page (or post type)
		'normal',					// Context
		'default'					// Priority
	);
}

/* Display the post meta box. */
function smashing_flautist_access_meta_box( $object, $box ) { ?>

	<?php wp_nonce_field( basename( __FILE__ ), 'smashing_flautist_access_nonce' ); ?>

	<p>
		<label for="smashing-flautist-access"><?php _e( "Enter the username of the subscriber that you want to view this content.", 'smashing_flautist' ); ?></label>
		<br />
		<input class="widefat" type="text" name="smashing-flautist-access" id="smashing-flautist-access" value="<?php echo esc_attr( get_post_meta( $object->ID, 'smashing_flautist_access', true ) ); ?>" size="30" />
	</p>
<?php }

С кодом Джастина, модифицированный для этого проекта, мы должны иметь пользовательское окно мета который выглядит следующим образом:

Основного окна расположены ниже мета сообщению редактирования box.

Добавление Удобство в Selection

Это поле может быть использовано, как есть, и автору было бы просто ввести члены, которые они хотят, чтобы позволить, чтобы просмотреть сообщение.Это будет хорошо работать, если каждый автор был очень немногие имена помнить, но если у автора есть длинный список имен на выбор, то список членов должны быть показаны, и там должны были бы быть система, которая позволяет авторамвыбирать членов из списка.Добавьте следующий код в область чуть ниже оригинальной коробке, сразу после тега закрытия пункта, чтобы отобразить список пользователей с их именами, вместе с переключателями, чтобы предоставить одному из пользователей доступ к текущей post.

<table class="smashing-flautist-access">
<tr align="left">
<th>Username</th>
<th> </th>
<th>Visiblity</th>
<th> </th>
<th>Name</th>
</tr>
<?php
global $post;
	$users = get_users('role=subscriber');
	foreach ($users as $user) {
			$user_info = get_userdata( $user->ID );
			if(get_post_meta( $object->ID, 'smashing_flautist_access', true ) == $user->user_login) $ifchecked = 'checked="checked" ';
			echo "<tr>";
			echo "<td>$user->user_login</td><td> </td>";
			echo "<td align=\"center\"><input type=\"radio\" name=\"smashing-flautist-access\" id=\"smashing-flautist-access\" value=\"$user->user_login\" " . $ifchecked ."/></td><td> </td>";
			echo "<td>$user_info->last_name, $user_info->first_name</td><td> </td>";
			echo "</tr>";
			unset($ifchecked);

	} ?></table>

Если все пойдет хорошо, вы должны закончить с коробкой под сообщение редактору, который похож на изображение ниже.Форму, содержащую переключатель получает список пользователей, которые перечислены как абонентам и делает выбор студента с разрешения на просмотр легким, и все это без post’ с автором необходимости запоминать любую usernames.

Screenshot of a meta box with user information
мета окно, которое содержит метод для выбора определенного имени и информации о каждом user.

Сохранение List

Теперь, когда мы создали список, что делает его легким для авторов, чтобы выбратькоторые члены хотят иметь возможность просматривать сообщения частности, мы должны создать такую ​​систему, чтобы добавить список в базу данных MySQL WordPress “, так что мы можем получить его позже.Мы также нужен способ, чтобы рассказать WordPress, чтобы обновить этот список имен пользователей в случае, если автор решит позже, чтобы добавить или удалить кого-то из конкретной post’ S список уполномоченных зрителей.Идентификационный код Джастин делает прекрасную работу; …

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.