возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: WordPress без плагинов
Запросто с WordPress создание и продвижение сайтов ATs media

Добавим в настройки профиля дополнительный блок об Авторе: без плагина

Сегодня посмотрим как обстоят дела в административных настройках профиля пользователя, а именно поподробнее изучим блок “Об авторе” все его диковинки: возможности использования – целесообразности и нецелесообразности… …и, основываясь на плюсах и минусах, добавим к настройкам профиля ещё один раздел настроек, второй блок об авторе и, замечу, – без использования плагинов.

Зачем это нужно?

Много спрашивают (а раз спрашивают… то есть те, которые привыкли к классическому редактору) – и в личке и в комментариях о том, как разрешить отработку html тегов для поля “об авторе”, которое по умолчанию?

Не знаю, насколько эти разрешения выгодны, при том, что этот запрет html тегов и пр. в целях безопасности – а этот факт толкует многое!

Но… поближе к делу… (в финале статьи дан видео)


 

 

 

 

Главное, что требовалось администраторам, это то, чтоб как-то информация об авторах была разграничена: блок по умолчанию выводил одну инфу, а к примеру, дополнительный блок об авторе – иную (дополнительную, более объемную…).

 

И самое главное, чтоб настройки было возможно граничить по ролям пользователей…

 

 

 

 

выводим в админке дополнительный блок об авторе…

 

 

 

 

Рассказываю на примере сайта, который администрирую. Вариант по тексту ниже, всего лишь вариант, и его возможно переделывать по своим требованиям.

 

 

 

 

В настройках профиля уже существует блок “об авторе”, однако, он не всегда и всем подходит. К тому же при редактировании, в поле ввода текста, невозможно использовать html – фото, требуемый вариант ссылок и пр. т.е. достаточно сухой текстовый вариант описания.

 

Новый же блок, который сегодня организуем, позволит (независимо) от блока об авторе по умолчанию, вывести любую дополнительную информацию об авторе сайта – на страницах архивов авторов, либо же в отдельных записях/страницах, либо какой-то созданной авторской..! с картинками, ссылками и прочим таким полезным…

 

 

 

Настраивается дополнительный блок “об авторе”, в плане стилистики отображения информации на странице(ах) сайта, как вам потребуется…

 

 

 

И – так, сравним:

 

Так выглядит блок об авторе (по умолчанию) который присутствует на любом сайте платформы WordPress:

 

 

 

 

блок об авторе

 

 

 

…добавим ещё один вариант (блока) настроек и вывода информации об авторах…

 

 

Фото ниже: как видите, для редактирования – в блоке присутствуют визуальный и html редакторы.

 

 

Повторюсь: выводить информацию из этого блока возможно абсолютно на любой авторской ( is_author() ) странице сайта (во фронтенде) по нашим утончённым и креативным желаниям.

 

 

новый блок об авторе блога

 

 

 

выглядеть на сайте блок будет примерно так (как понимаете, это стилистический вариант: у вас будет иначе… в соответствии с вашими желаниями..):

 

 

 

об авторе блок

 

 

 

 

Это интересно:

Как добавить аватарку к имени автораКак добавить аватарку к имени автора — в начале или финале статьи
Одна из таких примочек — аватарка, рядышком с именем автора поста. Или в начале статьи или, как теперь делают многие, в финале поста и к тому же с какими-то пояснениями об авторе.
– в начале или финале статьи

Как добавить текстовый редактор в блок “Отрывок” – на странице редактирования записи WP

Как стилизовать форму комментирования WordPress

14 полезных сниппетов — код для наилучшей работы сайта WordPress

Что такое Open Graph? как подключить протокол Open Graph к WordPress

Добавим в текстовый редактор пояснительные сообщения для авторов — управление из админки

 

 

 

 

код для вывода дополнительного блока об авторах – с текстовым редактором

 

 

 

 

Добавляем код показанный ниже в файл функций активного шаблона вашего сайта.

 

…вследствие чего сразу же в настройках профиля пользователя (в админпанели) появится блок редактирования (как на фото выше).

 

 

 

код можно добавить в специально организованный файл шаблона. Как это делается и подключается, описано чуть ниже (подробнее в этойСоздаём плагин
файл функций — занимательный помощник в расширении функционала сайта ! особливо, если используется по назначению, — однако, многие владельцы блогов/сайтов замечательным образом превращают functions.php в сборную солянку.
статье).

 

 

 

/* добавление дополнительные поля в профиле */
add_action( 'show_user_profile', 'add_extra_ats_edit' );
add_action( 'edit_user_profile', 'add_extra_ats_edit' );
function add_extra_ats_edit( $user ){ if (is_super_admin( $user_ID )) {
?>
<h3>Дополнительные данные пользователя:</h3>
<tr class="user-description-wrap">
<th><label for="atsdescription"><b>Об авторе:</b></label></th><br /><br />
<td>
<?php
$atsprof = get_the_author_meta( 'ats_prof', $user->ID );
// $atsprof = sanitize_text_field(get_the_author_meta( 'ats_prof', $user->ID )); // для примера
// esc_attr срезает символы, как и esc_html()
// esc_html() менее грубая - переводит HTML символы, сущности в визуальный текст - не обрабатывает HTML
// sanitize_text_field() - удаляет все HTML символы, переносы строк, табуляции и т.п. HTML сущности
wp_editor($atsprof, 'atsdescription', array(// content editor_id
'wpautop' => false,// установим false или 0 (хотя по умолчанию: 0)
'media_buttons' => 1,
'textarea_name' => 'ats_prof', // ats_prof нужно указывать!
'textarea_rows' => 20,
'tabindex' => null,
'editor_css' => '',
'editor_class' => '',
'teeny' => 1,// урезанный/полный текстовый редактор: 1 - скроет кнопку дополнительной второй панели, однако, в редакторе будут работать специальные фильтры, события
'dfw' => 0,
'tinymce' => 1,
'quicktags' => 1,
'drag_drop_upload' => true //false
) );
?></td></tr><?php
} }
// сохранение данных
add_action( 'personal_options_update', 'sa_extra_ats_edit' );
add_action( 'edit_user_profile_update', 'sa_extra_ats_edit' );
function sa_extra_ats_edit( $user_id )
{
update_user_meta ( $user_id,'ats_prof', $_POST['ats_prof'] );
}
/* вывод инфы: абсолютно на всех страницах echo get_the_author_meta('ats_prof', 1); */

 

 

Обращаю внимание: если используем в array 'wpautop' => false, – будет возможна разбивка на абзацы…

 

 

 

блок об авторе

 

 

 

.т.е абзацы, как и весь текст, будут обёрнуты тегом <p></p>

 

Если установим “1” (true) теги р будут вырезаны (браузер их не считает и не выведет на экран): в итоге – абзацев не будет (хотя, в редакторе (бэкенд) текст будет визуально отформатирован!) – подробнее ниже и в видео.

 

 

Дополнительные пояснения к коду:

 

Условие:

 

if (is_super_admin( $user_ID ))

 

сделает так, что добавлять информацию об авторе (в новом блоке) будет возможно только администратору. Для всех остальных пользователей – блок в настройках профиля выведен не будет!

 

Если разрешаем всем пользователям редактировать свой блок об авторе – убираем условие, либо обусловим как-то иначе…

 

 

 

Для примера приглядимся к коду ниже (это интересно, всё связанное – более подробно рассмотрим в видео и следующих статьях):

 

 

 

/* проверяем роли и возможности */
add_action( 'init','mytags_check_editor_capabilities' );
function mytags_check_editor_capabilities() {

     if (is_super_admin( $user_ID )) { // для примера: только для админа ! можно не использовать

if( current_user_can( 'edit_others_posts' )) { // обусловим права для пользователей
// user_can() = проверим права текущего пользователя
// далее работаем
} } }
/* проверяем роли и возможности */

 

 

 

 

…экшн (фильтры):

 

 

add_action( 'init','mytags_check_editor_capabilities' );

 

 

Обработка, используем хук init:

 

( init ) – код выполняется раньше, чем ядро WordPress подгрузит требуемые для обработки пользовательских ролевых разрешений файлы и функции.

 

 

 

Этот кусок кода я дал отдельно, однако, функции при надобности можно скомпоновать: исключить или дополнить… Так как требования у нас у всех разные..

 

 

 

Если в нашем новом блоке “об авторе” имеется текстовый редактор (т.е. доступно вольное форматирование текста), в этом случае, как понимаете и как говорилось выше, возможно создание вывода информации совершенно в любой стилистке: …для организации потребуются может быть только начальные знания CSS.

 

 

 

выводим блок об авторе

 

 

 

Вывести блок “Об авторе” на странице возможно таким запросом вызова функции – добавьте строку данную ниже в требуемый файл. Например, в author.php:

 

 

<div class="pages-authors"><?php the_author_meta('ats_prof', $author->ID); ?><hr class="nr2"></div>

 

 

 

Либо такую, ниже: …только для админа (используем условие if (is_super_admin( $user_ID )) описанное выше) – используется при настройках вывода блока об авторе:

 

 

<?php // фронтенд: только для админа 
if (is_super_admin( $user_ID )) {
the_author_meta('ats_prof', $author->ID); // вывод соответствующей информации об авторе на странице конкретного автора по ID
?><hr class="nr2"><?php } ?>

 

 

 

Для примера:

 

echo get_the_author_meta('ats_prof',  1); // вывод абсолютно на всех страницах авторов

 

используется для важных сообщений авторам сайта (каким-то условностями)) – оберните вызов функции… в какое-то условие.

 

 

 

Примеры условий отображаемых страниц (условные теги):

 

 

// примеры использования условных тегов:

// если отображается страница любого из авторов
is_author();

// если отображается страница автора с ID 7
is_author('7');

// если отображается страница автора под ником "Vоvan"
is_author('Vоvan');

// ник возможен через тире
is_author('Vоvan-Vоvan');

// возможно указать нескольких авторов: с ID и ником ...
// добавлено стартом от версии 2.5
is_author(array(7,'Vоvan-Vоvan','Vоvan'));

$sityauthor = данные автора;
if ( is_author($sityauthor) ) 
{ echo 'информация'; } 

 

 

 

Стили CSS

 

 

…возможно организовать в таких примерно селекторах (добавляйте свои селекторы, стили):

 

 

.page-authors{font-size:12px;color:#ccc}
.page-authors img{margin:3px 7px}
hr.nr2{clear:both;border:0 solid #fff}

 

 

<hr class="nr2"> – разделитель, возможно, кому-то пригодится…

 

 

Также возможно организовать шорткод, который предоставит возможность вывода блока об авторе, например, в сайдбаре.

Вот плагин widget text class ats (текстовый виджет), который умеет работать с функциями php, html и шорткодами (доступен в репозитории WP).

 

 

 

А это для тех, которые решили организовать отдельный функциональный файл в своём шаблоне:

 

 

 

как подключить в файле functions.php дополнительный файл(ы)

 

 

 

 

// подключение файла к functions.php (например, так) = ИМЕНА файлов и папки ats-functions произвольные:
include_once "ats-functions/ats-name.php"; // подключение файла в functions.php

 

// или такое подключение (например, так):
require_once get_template_directory() . '/ats-functions/ats-name.php'; // подключение файла в functions.php
 


// в плагине (например, так):
require( plugin_dir_path( __FILE__ ) . 'inc/ats-name.php' ); // подключение файла для плагина

 

 

 

 

Управление блоком “об авторе” (показ/скрытие для определённых ролей пользователей) возможно вывести в анминку WоrdPress. Но это совсем другая история… о ней в следующих инструкциях…

 

 

 

 

Пишите, если возникли вопросы – я всегда на связи.

 

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©