Intereting Posts
Отображать сообщения, изменяя предложение where только для моего запроса Пользовательское поле для массива? Как отобразить greyed out next_post_link, когда нет следующей публикации Php-файл за пределами WordPress cms Могут ли переходные процессы использоваться для хранения конфиденциальных данных? Получить URI страницы для QR-кода PHP Идеальная настройка многосетевого сервера WP для до 1000 сайтов? Удаление всех статусов сообщений из пользовательского типа сообщения сортировать результаты поиска по новейшим Получить URL текущего изображения с JS в режиме редактирования сообщения Поиск плагина оглавления (TOC) для WordPress Переписывание каждого URL-адреса Сравнение данных переходных процессов с использованием значения мета-поля Отображение 2-й категории, только один раз, как подзаголовок, в цикле Включить файл родительской темы с дочерней темой

Ограничить имена многосайтовых / сетевых сайтов до свойства пользователя

Нам нужно ограничить имена блога, которые пользователи могут выбирать, создавая свои собственные блоги.

У нас есть сеть WordPress, настроенная так, чтобы все блоги делили доменное имя. Например, domain.name.com/x , domain.name.com/y и т. Д.

Мы интегрировали нашу сеть WordPress с нашим корпоративным Active Directory с помощью плагина интеграции Active Directory. Этот плагин помещает атрибут mailnickname пользователя (часть адреса электронной почты перед @ ) в поле псевдонима .

Я хотел бы разрешить пользователям самостоятельно создавать свои собственные блоги, но ограничивать имена имен блогов, чтобы они соответствовали полю псевдонима их учетной записи WordPress. Например, пользователь с псевдонимом jdoe мог создать только блог с именем domain.name.com/jdoe .

В идеале, в /wp-signup.php , было бы лучше, если бы поле blogname даже не отображалось.

Есть ли способ сделать это без настройки PHP? Я надеялся, что плагин уже будет существовать, но я не могу его найти.

Solutions Collecting From Web of "Ограничить имена многосайтовых / сетевых сайтов до свойства пользователя"

Глядя на источник wp-signup.php , вам кажется, что лучше всего выбрать фильтр signup_blog_init (строка 303 в signup_blog_init 3.5.1):

 /* add_filter( 'signup_blog_init', 'wpse103022_blog_name' ); function wpse103022_blog_name( $blog_details ) { // Set $username to the user's username $blog_details['blogname'] = $username; return $blog_details; } */ // see code below for replacement 

Я не уверен на 100%, что это сработает, но стоит попробовать.

отредактированный

Хорошо, после вашего комментария ниже я взглянул на validate_blog_signup() . Он вызывает wpmu_validate_blog_signup() и предоставляет фильтр – wpmu_validate_blog_signup . Глядя на код , кажется, что что-то вроде следующего должно работать:

 add_filter( 'wpmu_validate_blog_signup', 'wpse103039_blog_name' ); function wpse103039_blog_name( $blog_details ) { $blog_details['path'] = '/' . $desired_blogname; // however you get it return $blog_details; } 

Если я правильно читаю код, вы можете фильтровать:

  • domain
  • path
  • blogname
  • blog_title
  • user
  • errors