Register_sidebar () - реєструє панель віджетів (місце, куди розміщуються віджети в адмін-панелі,

Реєструє панель віджетів (місце, куди розміщуються віджети в адмін-панелі, щоб потім вивести їх в лицьовій частині).

register_sidebar () реєструє панель (місце, контейнер) для віждетов і формат виведення для кожного віджета: html тег заголовка, html тег до і після віджета. Зареєструвавши панель, в адмін-панелі з'явиться місце, куди можна поміщати віджети. Розмістивши віджети в панелі, ми зможемо вивести панель з віджетами в шаблоні за допомогою функції dynamic_sidebar (). (Див. Приклад 2).

Функцію потрібно підключати до події widgets_init.

Функція підтримки віджетів: add_theme_support ( 'widgets') повинна бути активована для теми, в functions.php. Якщо цього немає, то register_sidebar () активує її автоматично.

Не використовуйте назви ідентифікаторів для параметра ID з цього списку. Там же, за посиланням, ви знайдете невелику функцію, яка збирає вже використовувані ID в WordPress.

Використовуйте register_sidebars (). щоб створити кілька панелей за раз. Це дозволить створити унікальне ім'я для кожної панелі, наприклад: "Правий сайдбар", "Лівий сайдбар". Незважаючи на те, що ці назви видно тільки в адмін-панелі, важливо дати користувачеві уявлення про те де буде виводитися панель.

register_sidebars () також рекомендується використовувати, якщо потрібно зареєструвати кілька однотипних панелей для віждетов (назви відрізняються числами), наприклад: Панель 1. Панель 2. Панель 3.

Дефолтні значення параметрів before / after розраховані на теми, які створюють бічні панелі у вигляді LI списку з заголовками в H2 тезі. Така реєстрація рекомендується розробниками WordPress для всіх тем.

Якщо з якихось причин, маркування потрібно змінити, рекомендується скопіювати id (id = "% 1 $ s") і class (class = "widget% 2 $ s") атрибути як зазначено за замовчуванням і не вказувати їх жорстко. Потрібно це, щоб вони створювалися динамічно за допомогою функції sprintf ().

Не можна залишати параметри name і id порожніми!

Їх можна або не вказувати взагалі, або обов'язково вказати при цьому, потрібно щоб вони були унікальними і не порожніми.

Якщо не визначити id або name, то для них будуть використані значення за замовчуванням з инкрементом:

Де $ i буде числом рівним кількістю панелей на сайті + 1.

Хукі з функції:
повертає

Рядок. Ідентифікатор переданий в параметрі ID.

Використання

шаблон використання

Аргументи для реєстрації панелі віджетів. Можна вказувати у вигляді рядка або масиву:
Якщо у вигляді рядка, тоді аргументи потрібно розділяти знаком :

Ті ж аргументи в масиві:

За замовчуванням: параметри за замовчуванням.

Аргументи параметра $ args

name (рядок) Назва панелі віджетів. Назва буде видно в адмін-панелі WordPress. За замовчуванням "Бічна колонка 1" (локалізація від Sidebar $ i. Де $ i порядковий номер сайдбара). Значення не повинно бути порожнім!
За замовчуванням: sprintf (__ ( 'Sidebar.'), $ I) id (рядок) Ідентифікатор віджета. Рядок, в якій не повинно бути великих літер і пробілів. Значення не повинно бути порожнім, якщо залишити цей параметр порожнім, то в режимі розробки (при дебаге) отримаєте замітку типу E_USER_NOTICE.
За замовчуванням: "sidebar- $ i" description (рядок) Текст описує де буде виводитися панель віджетів. Показується в панелі управління віджетами.
За замовчуванням: '' class (рядок) CSS клас, який буде додано головному HTML тегу панелі віджетів.
За замовчуванням: '' before_widget (рядок) HTML код, який буде розташований перед кожним віджетом в панелі. наприклад:

  • . Конструкції% 1 $ s і% 2 $ s будуть замінені на id і class використовуваного в сайдбарі віджета.
    За замовчуванням: '
  • 'After_widget (рядок) HTML код, який буде розташований після кожного віджета в панелі. наприклад:
  • .
    За замовчуванням: " \ N "before_title (рядок) HTML код перед заголовком віджета.
    За замовчуванням: '

    'After_title (рядок) HTML код після заголовка віджета.
    За замовчуванням: "

    \ N "

    Основне призначення цих аргументів, вказати відповідні для теми теги обертаючі кожен віджет і його заголовок. У WordPress прийнято обертати віджет в li тег, а заголовок віджета в тег h2.

    # 1 Реєстрація віджетів для бічній панелі сайту

    Код нижче, зареєструє панель під назвою "Права бічна панель сайту". Назва панелі буде обгорнута в теги

    і
    :

    Після того, як ми розмістимо цей код в файл теми functions.php, в адмін-панелі на сторінці віджетів, з'явиться панель, куди ми зможемо додати віджети. У шаблоні ця панель виводиться за допомогою функції dynamic_sidebar ():

    # 2 Зареєструємо панель віджетів для головної сторінки сайту

    Додамо код в functions.php:

    У файл home.php вставимо висновок панелі:

    Код register sidebar. wp-includes / widgets.php WP 4.8.3

    cвязана функції

    Otshelnik-Fm 181 cайт: across-ocean.otshelnik-fm.ru

    Тимур привіт. Допиши про ID віджета: "Якщо ви не встановите значення ідентифікатор аргументу, ви отримаєте повідомлення E_USER_NOTICE в режимі налагодження, починаючи з версії 4.2."

    Трохи не зрозумів що дописати і чому, і не знайшов цього в документації.

    Якщо не встановити id або name, то для них будуть використані значення за замовчуванням з инкрементом.

    Де $ i буде збільшуватися автоматично на число: зареєстровані на сайті панелі + 1.