beget banner 468x60beget banner 728x90beget banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180

Как добавить чекбокс в расширенные свойства меню WordPress

Для добавления чекбокса в расширенные свойства меню в WordPress, вам нужно использовать хуки и функции WordPress API для создания и обработки дополнительных полей. Вот пример, как это сделать:

Добавление чекбокса в форму редактирования меню

Используйте хук wp_nav_menu_item_custom_fields для добавления поля в форму редактирования меню:

add_action('wp_nav_menu_item_custom_fields', 'add_custom_checkbox_field', 10, 4);

function add_custom_checkbox_field($item_id, $item, $depth, $args) {
    $custom_checkbox = get_post_meta($item_id, '_custom_checkbox', true);
    ?>
    <p class="field-custom field-custom-checkbox description-wide">
        <label for="edit-menu-item-custom-checkbox-<?php echo $item_id; ?>">
            <input type="checkbox" id="edit-menu-item-custom-checkbox-<?php echo $item_id; ?>" name="menu-item-custom-checkbox[<?php echo $item_id; ?>]" value="1" <?php checked($custom_checkbox, 1); ?> />
            <?php _e('Custom Checkbox', 'text-domain'); ?>
        </label>
    </p>
    <?php
}

Сохранение значения чекбокса

Используйте хук wp_update_nav_menu_item для сохранения значения чекбокса при сохранении меню:

add_action('wp_update_nav_menu_item', 'save_custom_checkbox_field', 10, 3);

function save_custom_checkbox_field($menu_id, $menu_item_db_id, $args) {
    if (isset($_POST['menu-item-custom-checkbox'][$menu_item_db_id])) {
        $custom_checkbox = 1;
    } else {
        $custom_checkbox = 0;
    }
    update_post_meta($menu_item_db_id, '_custom_checkbox', $custom_checkbox);
}

Использование значения чекбокса

Если вы хотите использовать значение чекбокса в своем шаблоне меню, вы можете получить его с помощью get_post_meta:

$custom_checkbox = get_post_meta($item->ID, '_custom_checkbox', true);
if ($custom_checkbox) {
    // Ваш код для отображения или использования чекбокса
}

Этот код добавляет чекбокс в раздел расширенных свойств каждого элемента меню, сохраняет его значение и позволяет вам использовать это значение в вашем шаблоне. Не забудьте заменить 'text-domain' на домен вашего текста.

flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600kwork banner 480x320kwork banner 728x90kwork banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как из стандартного типа записи post удалить «uncategorized» из ссылки в WordPress?

При создании записей в WordPress без указания категории по умолчанию им присваивается категория «Без рубрики» («Uncategorized»). Это приводит к появлению лишней части ссылки, например: https://example.com/bez-rubriki/nazvanie-zapisi. Если вы хотите убрать «bez-rubriki» из URL, то вам потребуется немного модифицировать настройки и добавить пользовательский код. В этой статье я покажу, как это сделать и избежать ошибок 404. Шаг…
Подробнее

Как на WordPress сделать архивную страницу со всеми авторами и структуру ссылок домен/authors/author

Чтобы сделать архивную страницу в WordPress, которая перечисляет всех авторов и предоставляет доступ к их страницам профилей через структуру ссылок вида домен/authors/author, нужно выполнить следующие шаги: 1. Создание пользовательской страницы для архива авторов Создайте файл шаблона: В вашей активной теме создайте файл page-authors.php. Это будет специальная страница, отображающая список всех авторов. Добавьте код для вывода…
Подробнее

Как сделать функцию для редиректа со старых ссылок сайта на новые в WordPress?

Для создания функции редиректа в WordPress со старых ссылок на новые, можно использовать файл .htaccess или написать специальный код в functions.php темы. Рассмотрим оба варианта: 1. Редирект через .htaccess Если вам нужно выполнить редиректы для множества старых URL, проще всего это сделать через файл .htaccess в корне вашего сайта. Для этого откройте или создайте файл…
Подробнее