Как сделать шорткод для отображения списка значков продавцов Dokan?

Вопрос или проблема

Я собираюсь добавить список значков продавца Dokan на страницу отдельного продукта, создав шорткод, чтобы также отображалась подсказка. Спасибо за вашу помощь.

// Добавить шорткод для отображения значка продавца Dokan на странице отдельного продукта
function display_dokan_seller_badge() {
    if ( function_exists( 'dokan_get_vendor_by_product' ) ) {
        global $post;
        $product_id = $post->ID; // Получить текущий ID продукта
        $vendor = dokan_get_vendor_by_product( $product_id ); // Получить информацию о продавце по ID продукта

        if ( $vendor ) {
            $vendor_id = $vendor->get_id(); // Получить ID продавца

            // Получить метаданные значка продавца, связанные с ID продавца
            $badge_id = get_user_meta( $vendor_id, 'dokan_seller_badge_id', true );

            if ( !empty( $badge_id ) ) {
                $badge_image = wp_get_attachment_image( $badge_id, 'full' ); // Получить изображение значка продавца

                if ( !empty( $badge_image ) ) {
                    return '
' . $badge_image . '
'; // Вернуть изображение значка, обернутое в div } } else { return '

Нет доступного значка продавца

'; // Если значок не найден } } } return ''; // Вернуть пустое значение, если продавец или значок не найдены } // Зарегистрировать шорткод [dokan_seller_badge] add_shortcode( 'dokan_seller_badge', 'display_dokan_seller_badge' );

Ответ или решение

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

Шаг 1: Создание функции для шорткода

Вы можете добавить следующий код в файл functions.php вашей темы или в плагин для кастомизации. Этот код проверяет, существует ли продавец для текущего товара, получает информацию о бейдже и отображает его на странице.

// Добавляем шорткод для отображения бейджа продавца Dokan на странице товара
function display_dokan_seller_badge() {
    // Проверяем, доступна ли функция получения продавца по товару
    if ( function_exists( 'dokan_get_vendor_by_product' ) ) {
        global $post;
        $product_id = $post->ID; // Получаем ID текущего товара
        $vendor = dokan_get_vendor_by_product( $product_id ); // Получаем информацию о продавце по ID товара

        if ( $vendor ) {
            $vendor_id = $vendor->get_id(); // Получаем ID продавца

            // Извлекаем ID бейджа продавца из метаданных пользователя
            $badge_id = get_user_meta( $vendor_id, 'dokan_seller_badge_id', true );

            if ( !empty( $badge_id ) ) {
                $badge_image = wp_get_attachment_image( $badge_id, 'full' ); // Получаем изображение бейджа продавца

                if ( !empty( $badge_image ) ) {
                    return '<div class="dokan-seller-badge">' . $badge_image . '</div>'; // Возвращаем изображение бейджа в обертке div
                }
            } else {
                return '<p>Бейдж продавца не доступен</p>'; // Если бейдж не найден
            }
        }
    }

    return ''; // Возвращаем пустую строку, если продавец или бейдж не найдены
}

// Регистрируем шорткод [dokan_seller_badge]
add_shortcode( 'dokan_seller_badge', 'display_dokan_seller_badge' );

Шаг 2: Использование шорткода на странице товара

После добавления данного кода вы сможете использовать шорткод [dokan_seller_badge] в редакторе контента страницы товара, который вам нужен. Просто вставьте шорткод в нужное место, и бейдж продавца будет отображен автоматически.

Шаг 3: Настройка стилей (опционально)

Вы можете дополнительно настроить CSS классы для управления внешним видом бейджа. Добавьте стили CSS в файл стилей вашей темы или в разделе «Дополнительные стили» в настройках WordPress.

.dokan-seller-badge {
    margin: 10px 0;
    display: inline-block;
}

Эти шаги помогут вам реализовать отображение бейджа продавца Dokan на странице товара с помощью шорткода. Убедитесь, что у вас установлен и активирован плагин Dokan для корректной работы функции.

Оцените материал
Добавить комментарий

Капча загружается...