WordPress как на ладони

Дополнительная вкладка контекстной помощи в админке

Возможно ли на странице (экране) создания новой записи соорудить дополнительную вкладку типа "Помощь" и "Настройки экрана" со своим текстом?

3
Наталия
6.8 лет назад 26
  • 0

    https://codex.wordpress.org/Class_Reference/WP_Screen/add_help_tab

    Наталия 6.8 лет назад

    Да, я видела. Это есть и здесь, в переводе на русский. Но это не то, что нужно. Это позволяет редактировать вкладку "Помощь" на экране стандартных записей или создавать её там, где такой вкладки нет. А мне нужна дополнительная вкладка, третья, рядом с вкладками "Помощь" и "Настройки экрана" для стандартных записей.

    Molotow 6.8 лет назад

    Полагаю что в вордпрессе пока нет такого функционала. Как вариант попробуйте с помощью javascript ручками набросать такой функционал, или выкосить help и накидать туда своих табов.

    Наталия 6.7 лет назад

    Я нашла способ как это сделать. Если кому-нибудь нужно - могу поделиться.

    Molotow 6.7 лет назад

    Делитесь. Всем будет интересно.

    Kama 6.7 лет назад

    Поддерживаю Молотова и надеюсь на изящное решение smile

    Наталия 6.7 лет назад

    Ну какое с меня, чайника (к тому же гуманитария), изящное решение.))

    Всё, что я могу - внимательно рассмотреть как работает что-нибудь аналогичное. Поэтому в нижеследующем коде то, что можно менять, - специально обозначено кириллицей. Остальное (структура HTML) построено по тому же принципу, что и соседние вкладки, с сохранением всех атрибутов и названий классов. Скрипт, который "выдвигает" вкладку, работает именно с классами. Оставалось только впендюрить в нужные блоки кнопку и содержимое. CSS, соответственно, тоже работает автоматически.

    function имя_функции() {
    	global $pagenow;
    
    	if ( $pagenow == 'нужный_экран.php' ) { ?>
    		<script type="text/javascript">
    			jQuery(document).ready(function($) {
    				var button_content = '\
    				<div id="имя-вкладки-link-wrap" class="screen-meta-toggle">\
    					<button type="button" id="имя-вкладки-link" class="button show-settings" aria-controls="имя-вкладки-wrap" aria-expanded="false">Памятка</button>\
    				</div>';
    
    				var memo_content = '\
    				<div id="имя-вкладки-wrap" class="hidden" tabindex="-1" aria-label="Вкладка «Памятка»" style="display: none;">\
    					Содержимое вкладки\
    				</div>';
    
    				$( button_content ).appendTo( $( "#screen-meta-links" ) );
    				$( memo_content ).appendTo( $( "#screen-meta" ) );
    			});
    		</script>
    		<?php 
    	}
    }

    В результате получаем:

    Kama 6.7 лет назад

    Спасибо за решение, довольно неплохо!

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация