Хуки

wpbar/layout/is_offset_enabled 0.1.0

Позволяет включить или выключить автокомпенсацию контента под панелью.

/**
 * Отключать компенсацию отступа на определенном шаблоне
 */
add_filter( 'wpbar/layout/is_offset_enabled', function ( $enabled, $settings, $bar_id, $context ) {
    if ( is_page_template( 'templates/landing.php' ) ) {
        return false;
    }

    return $enabled;
}, 10, 4 );

wpbar/layout/offset_mode 0.1.0

Позволяет переопределить режим компенсации контента.

/**
 * Принудительно использовать режим компенсации body
 */
add_filter( 'wpbar/layout/offset_mode', function ( $mode, $settings, $bar_id, $context ) {
    if ( is_singular( 'post' ) ) {
        return 'body';
    }

    return $mode;
}, 10, 4 );

wpbar/layout/offset_selector 0.1.0

Позволяет переопределить CSS-селектор целевого контейнера.

/**
 * Переопределять CSS-селектор для компенсации отступа
 */
add_filter( 'wpbar/layout/offset_selector', function ( $selector, $settings, $bar_id, $context ) {
    if ( ! empty( $settings['offset_mode'] ) && $settings['offset_mode'] === 'custom' ) {
        return '.site-footer';
    }

    return $selector;
}, 10, 4 );

wpbar/items/list 0.1.0

Позволяет изменить список элементов бара перед рендером.

/**
 * Скрывать элемент по классу для неавторизованных пользователей
 */
add_filter( 'wpbar/items/list', function ( $items, $context, $bar_id ) {
    if ( is_user_logged_in() || ! is_array( $items ) ) {
        return $items;
    }

    return array_values( array_filter( $items, function ( $item ) {
        $custom_class = (string) ( $item['custom_class'] ?? '' );

        return $custom_class !== 'only-logged-in';
    } ) );
}, 10, 3 );
/**
 * Скрывать элемент по подписи для авторизованных пользователей
 */
add_filter( 'wpbar/items/list', function ( $items, $context, $bar_id ) {
    if ( ! is_user_logged_in() || ! is_array( $items ) ) {
        return $items;
    }

    return array_values( array_filter( $items, function ( $item ) {
        $label = (string) ( $item['label'] ?? '' );

        return $label !== 'Login';
    } ) );
}, 10, 3 );

wpbar/item/classes 0.1.0

Позволяет изменить список CSS-классов элемента перед рендером.

/**
 * Добавлять CSS-классы для выбранного типа элемента
 */
add_filter( 'wpbar/item/classes', function ( $classes, $item, $context ) {
    if ( ( $item['type'] ?? '' ) === 'woo-cart' ) {
        $classes[] = 'wpbar-item--cart-highlight';
    }

    return $classes;
}, 10, 3 );

wpbar/item/url 0.1.0

Позволяет переопределить URL элемента перед выводом.

/**
 * Добавлять UTM-метки к пользовательским ссылкам
 */
add_filter( 'wpbar/item/url', function ( $url, $item, $context ) {
    if ( empty( $url ) || ( $item['type'] ?? '' ) !== 'custom' ) {
        return $url;
    }

    return add_query_arg(
        [
            'utm_source' => 'wpbar',
            'utm_medium' => 'bottom_bar',
            'utm_campaign' => 'navigation',
        ],
        $url
    );
}, 10, 3 );

wpbar/item/counter 0.1.0

Позволяет задать счетчик для любого элемента бара.
Возвращайте пустое значение, чтобы скрыть счетчик.

/**
 * Добавлять пользовательский счетчик для выбранного элемента
 */
add_filter( 'wpbar/item/counter', function ( $counter, $item, $context ) {
    $custom_class = (string) ( $item['custom_class'] ?? '' );
    if ( $custom_class !== 'mail-counter' ) {
        return $counter;
    }

    // Пример: забираем число из user meta.
    $mail_count = (int) get_user_meta( get_current_user_id(), 'mail_unread_count', true );

    return $mail_count > 0 ? $mail_count : '';
}, 10, 3 );

wpbar/appearance/presets 0.1.0

Позволяет изменить список пресетов внешнего вида.

/**
 * Добавлять свой пресет внешнего вида
 */
add_filter( 'wpbar/appearance/presets', function ( $presets ) {
    $presets[] = [
        'id' => 'client_brand',
        'label' => __( 'Client Brand', 'wpbar' ),
        'description' => __( 'Example preset with brand colors.', 'wpbar' ),
        'appearance' => [
            '--wpbar-bg' => '#111827',
            '--wpbar-item-color' => '#cbd5e1',
            '--wpbar-item-color-active' => '#22d3ee',
        ],
        'custom_css' => '',
    ];

    return $presets;
} );

wpbar/locate_template/located 0.1.0

Позволяет заменить положение файла шаблона

wpbar/rules/result 0.1.0

Позволяет переопределить итог сопоставления правил показа конкретной панели.

/**
 * Скрывать бар на конкретных ID записей и страниц
 */
add_filter( 'wpbar/rules/result', function ( $result, $bar_id, $rules, $evaluation ) {
    $excluded_ids = [ 42, 108, 256 ];
    $post_id = get_queried_object_id();

    if ( $post_id && in_array( (int) $post_id, $excluded_ids, true ) ) {
        return false;
    }

    return $result;
}, 10, 4 );
/**
 * Показывать бар только для авторизованных пользователей
 */
add_filter( 'wpbar/rules/result', function ( $result, $bar_id, $rules, $evaluation ) {
    if ( ! is_user_logged_in() ) {
        return false;
    }

    return $result;
}, 10, 4 );
/**
 * Показывать разные бары по языкам (Polylang и WPML)
 */
add_filter( 'wpbar/rules/result', function ( $result, $bar_id, $rules, $evaluation ) {
    // Укажи ID баров для языков.
    $bar_ids_by_lang = [
        'ru' => 101,
        'en' => 102,
    ];

    $lang = '';
    if ( function_exists( 'pll_current_language' ) ) {
        $lang = (string) pll_current_language( 'slug' );
    } elseif ( has_filter( 'wpml_current_language' ) ) {
        $lang = (string) apply_filters( 'wpml_current_language', null );
    } else {
        $locale = determine_locale();
        $lang = substr( (string) $locale, 0, 2 );
    }

    if ( ! isset( $bar_ids_by_lang[ $lang ] ) ) {
        return false;
    }

    return (int) $bar_id === (int) $bar_ids_by_lang[ $lang ] ? $result : false;
}, 10, 4 );
/**
 * Показывать бар только в рабочие часы
 */
add_filter( 'wpbar/rules/result', function ( $result, $bar_id, $rules, $evaluation ) {
    $hour = (int) wp_date( 'G' );
    $is_business_hours = $hour >= 9 && $hour < 18;

    return $is_business_hours ? $result : false;
}, 10, 4 );

wpbar/rules/is_debug 0.1.0

Позволяет включать/выключать debug правил показа бара.

/**
 * Полностью отключать debug комментарии правил показа
 */
add_filter( 'wpbar/rules/is_debug', function ( $enabled ) {
    return false;
} );

wpbar/item/is_active 0.1.0

Позволяет переопределить active-состояние элемента.

/**
 * Помечать элемент активным для нескольких URL-алиасов
 */
add_filter( 'wpbar/item/is_active', function ( $is_active, $item, $context, $current_url ) {
    if ( $is_active ) {
        return true;
    }

    if ( ( $item['type'] ?? '' ) !== 'custom' ) {
        return $is_active;
    }

    $aliases = [
        home_url( '/pricing/' ),
        home_url( '/tarify/' ),
    ];

    return in_array( untrailingslashit( $current_url ), array_map( 'untrailingslashit', $aliases ), true );
}, 10, 4 );

wpbar/icon/svg_classes 0.1.0

Позволяет переопределить классы svg-иконки.

/**
 * Добавлять дополнительный класс для SVG-иконок
 */
add_filter( 'wpbar/icon/svg_classes', function ( $classes, $context ) {
    $classes[] = 'wpbar-icon';

    return $classes;
}, 10, 2 );

wpbar/admin_menu/capability 0.1.0

Позволяет переопределить capability для доступа к страницам WPBar в админке.

/**
 * Ограничивать доступ к меню плагина только для администраторов
 */
add_filter( 'wpbar/admin_menu/capability', function ( $capability ) {
    return 'manage_options';
} );

wpbar/admin_bar/is_warning_enabled 0.1.0

Позволяет отключить предупреждение о множественных совпадениях в admin bar.

/**
 * Скрывать предупреждение в admin bar при нескольких совпавших барах
 */
add_filter( 'wpbar/admin_bar/is_warning_enabled', function ( $enabled, $matches_count, $matched_ids ) {
    return false;
}, 10, 3 );

wpbar/upload/mimes 0.1.0

Позволяет добавить mime-типы для загрузки иконок.

wpshop/icons/list 0.1.0

Общий фильтр списка иконок для продуктов WPShop.

/**
 * Добавлять свою иконку в библиотеку иконок
 */
add_filter( 'wpshop/icons/list', function ( $icons ) {
    $icons['custom-star'] = [
        'width' => 24,
        'height' => 24,
        'path' => 'M12 2l2.95 6.05L21.5 9l-4.75 4.63L17.9 21 12 17.85 6.1 21l1.15-7.37L2.5 9l6.55-.95L12 2z',
    ];

    return $icons;
} );

wpshop/icons/groups 0.1.0

Общий фильтр групп иконок для продуктов WPShop.

/**
 * Добавлять свою группу в библиотеку иконок
 */
add_filter( 'wpshop/icons/groups', function ( $groups ) {
    $groups['brand'] = [
        'name' => 'Brand',
        'order' => 90,
    ];

    return $groups;
} );

wpbar/svg/safe_style_props 0.1.0

Позволяет расширить набор CSS-свойств для inline SVG.

/**
 * Разрешать дополнительные CSS-свойства для inline SVG
 */
add_filter( 'wpbar/svg/safe_style_props', function ( $props ) {
    $props[] = 'mix-blend-mode';
    $props[] = 'isolation';

    return $props;
} );

wpbar/assets/script_options 0.1.0

Позволяет поменять параметры для скрипта

/**
 * Менять текст уведомлений в фронтовом скрипте
 */
add_filter( 'wpbar/assets/script_options', function ( $options ) {
    $options['i18n']['link_copied'] = __( 'Copied successfully.', 'wpbar' );
    $options['i18n']['link_copy_error'] = __( 'Copy failed. Please copy link manually.', 'wpbar' );

    return $options;
} );

2026 © Поддержка WPShop.ru - Регламент технической поддержки