Intereting Posts
Как я могу вернуться к показу кешированных страниц, когда соединение с базой данных не доступно? Как проверить, является ли пользовательский ввод в поле в настройке номером? Фрагмент для собственных (gr) аватаров Добавление содержимого страниц для запуска через пользовательское меню Пользовательский тип сообщения / таксономия Slug / Post Title с архивом типа сообщения Шаблоны страниц, используемые в пользовательском типе сообщения Разбиение на страницы пользовательских типов сообщений Удалить конечную косую черту Блок комментариев WordPress на странице продукта woocommerce Почему есть /index.php/ во всех моих ссылках? Как его удалить? Применить фильтр только один раз Как сделать навигационное меню wordpress использовать почтовые метаданные Разбиение страницы 404 Визуальный композитор и дополнительные пользовательские поля выберите один вал, хотя таблица в wordpress

Добавить новую область виджета нижнего колонтитула с ограниченными возможностями?

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

Я хотел бы ограничить область виджета только текстовой строкой, такой как заявление об авторском праве. Возможно ли это с областями виджетов? Как мне ограничить его только строкой текста?

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

Альтернатива: используйте пользовательские настройки, например, в wp-admin/options-general.php где wp-admin/options-general.php теги и название сайта. Существует даже крючок для таких дополнений:

 do_settings_sections('general'); 

Во-первых, дождитесь действия admin_init , а затем зарегистрируйте новое поле настроек:

 add_filter( 'admin_init', 'wpse_76943_register_setting' ); function wpse_76943_register_setting() { register_setting( 'general', 'footer_text', 'trim' ); add_settings_field( 'footer_text', 'Footer text', 'wpse_76943_print_input', 'general', 'default', array ( 'label_for' => 'footer_text' ) ); } 

Легко. Теперь нам нужна функция для печати этого поля. Используйте классическое поле ввода текста с large-text класса, чтобы сделать его достаточно широким:

 function wpse_76943_print_input() { $value = esc_attr( get_option( 'footer_text' ) ); print "<input type='text' value='$value' name='footer_text' id='footer_text' class='large-text' /> <span class='description'>Text for the footer.</span>"; } 

введите описание изображения здесь

Это все!

Чтобы использовать текст нижнего колонтитула в вашей теме, просто проверьте, есть ли значение, затем распечатайте его:

 if ( $footer_text = get_option( 'footer_text' ) ) print "<p>$footer_text</p>"; 

Я написал плагин, делающий почти то же самое, он просто более гибкий: данные о публичных контактах ( загрузка как ZIP-архив ).

Я думаю, как обычно вы делаете

  • Javascript на frontend с использованием некоторого простого ограничителя символов ( первый результат Google )
  • Проверка длины строки PHP на бэкэнде ( руководство по PHP )

Надеюсь, поможет