• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

WooCommerce New Product Badge - плагин значка "Новинка"

Defos

Новичок
Еще такой вопросик, как сделать так, что бы стикер был сразу под картинкой, а не в конце карточки товара, перед кнопкой? код плагина прилагается, спасибо.
Код:
<?php
/*
Plugin Name: WooCommerce Simple Product Badge
Version: 0.1.0
Description: Display custom badge on WooCommerce products
Author: Pragmatic Mates s.r.o.
Author URI: http://pragmaticmates.com
Text Domain: woocommerce-simple-product-badge
Domain Path: /languages/
License: GNU General Public License v3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/

if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {

    /**
     * New badge fields in admin
     */
    add_action( 'woocommerce_product_options_general_product_data', 'woocommerce_simple_product_badge_fields' );
    function woocommerce_simple_product_badge_fields() {
        global $woocommerce, $post;

        echo '<div class="options_group">';

        woocommerce_wp_text_input(array(
            'id'          => '_woocommerce_simple_product_badge_title',
            'label'       => __( 'Badge Title', 'woocommerce-simple-product-badge' ),
            'description' => __( 'e.g. Recommended', 'woocommerce-simple-product-badge' ),
        ) );

        woocommerce_wp_text_input(array(
            'id'          => '_woocommerce_simple_product_badge_class',
            'label'       => __( 'Badge Class', 'woocommerce-simple-product-badge' ),
            'description' => __( 'e.g. background-green', 'woocommerce-simple-product-badge' ),
        ) );

        echo '</div>';
    }

    /**
     * Save custom fields values
     */
    add_action( 'woocommerce_process_product_meta', 'woocommerce_simple_product_badge_fields_save' );
    function woocommerce_simple_product_badge_fields_save( $post_id ) {
        $title = $_POST['_woocommerce_simple_product_badge_title'];
        $class = $_POST['_woocommerce_simple_product_badge_class'];

        if ( !empty( $title ) ) {
            update_post_meta( $post_id, '_woocommerce_simple_product_badge_title', esc_attr( $title ) );
        }

        if ( !empty( $class ) ) {
            update_post_meta( $post_id, '_woocommerce_simple_product_badge_class', esc_attr( $class ) );
        }
    }

    /**
     * Display product badge
     */
    add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_simple_product_badge_display', 30 );
    function woocommerce_simple_product_badge_display() {
        $title = get_post_meta( get_the_ID(), '_woocommerce_simple_product_badge_title', true );
        $class = get_post_meta( get_the_ID(), '_woocommerce_simple_product_badge_class', true );

        if ( !empty( $title ) ) {
            $class = !empty( $class ) ? $class : '';
            echo '<span class="wc-simple-product-badge ' . $class . '">' . $title . '</span>';
        }
    }
}
 

Вложения

  • Снимок экрана от 2014-11-12 10:53:36.png
    Снимок экрана от 2014-11-12 10:53:36.png
    39.1 KB · Просмотры: 18

Origami

Новичок
Можно ли каким-то образом вывести значок "Новинка" на категории, в которой есть новые товары, а не только на самом товаре?
 

nilbu

Форумчанин
Подскажите, как можно изменить красный цвет, к примеру, на зеленый?
 

Xvost

Новичок
Плагин отличный только как теперь можно вывести товары с пометкой NEW на отдельную страницу?
 

D&B

Администратор
Команда форума
Местный
Через выбор по ID, присваивая теги, рубрики. Или фильтром, так правда, будут новые просто сверху выводиться.
 

Kiyik

Форумчанин
В папке плагина есть подпапка assets и в ней файл style.css
Мое содержимое:
HTML:
ul.products li.product .wc-new-badge {
    font-size: 0.7em;
    text-transform: uppercase;
    color: white;
    background:#eb4649;
    padding:.2em .2em;
    display: inline-block;
    font-weight: 700;
    border-radius:2px;  
    position: absolute;
    top: 0px;
    left: 0;  
}
Ярлык отображается слева на картинке товара

Добрый день, я вставил этот код в css файл плагина, но почему-то мой значок New отображается не на картинке, а выше (и на фоне появляется какая-то светлая полоска). Приложил фото для более лучшего понимания. Не знаете, в чем может быть проблема? Заранее благодарю!
 

Вложения

  • screen New badge.jpg
    screen New badge.jpg
    93.7 KB · Просмотры: 11

dave14

Опытный
Местный
Добрый день, я вставил этот код в css файл плагина, но почему-то мой значок New отображается не на картинке, а выше (и на фоне появляется какая-то светлая полоска). Приложил фото для более лучшего понимания. Не знаете, в чем может быть проблема? Заранее благодарю!

По картинке сложно сказать, нужна ссылка на сайт.
 

dave14

Опытный
Местный
А хорошо, вот. Правда там сейчас этот плагин выключен... Но если нужно, могу включить! Спасибо.
ну насколько я вижу, Вы не целиком вставили:

Код:
ul.products li.product .wc-new-badge {
    font-size: .75em;
    text-transform: uppercase;
    color: white;
    background: #eb4649;
    padding: .2em .5em;
    display: inline-block;
    font-weight: 700;
    border-radius: 2px;
}

а нужно

Код:
ul.products li.product .wc-new-badge {
    font-size: 0.7em;
    text-transform: uppercase;
    color: white;
    background:#eb4649;
    padding:.2em .2em;
    display: inline-block;
    font-weight: 700;
    border-radius:2px; 
    position: absolute;
    top: 0px;
    left: 0; 
}
 

Kiyik

Форумчанин
ну насколько я вижу, Вы не целиком вставили:

Код:
ul.products li.product .wc-new-badge {
    font-size: .75em;
    text-transform: uppercase;
    color: white;
    background: #eb4649;
    padding: .2em .5em;
    display: inline-block;
    font-weight: 700;
    border-radius: 2px;
}

а нужно

Код:
ul.products li.product .wc-new-badge {
    font-size: 0.7em;
    text-transform: uppercase;
    color: white;
    background:#eb4649;
    padding:.2em .2em;
    display: inline-block;
    font-weight: 700;
    border-radius:2px;
    position: absolute;
    top: 0px;
    left: 0;
}
Так тоже пробовал, ничего не меняется. Сейчас вот тоже вставил этот код. Посмотрите, ничего не изменилось...
 

tuxfighter

Гуру
Местный
удалить полностью папку /plugins/woocommerce-product-badge/ и сбросить кэш, если используете
 

sergey44945

Новичок
папка удаленна ,сайт кеш не используєт.

WooCommerce New Product Badge папка удаленна.

/plugins/woocommerce-product-badge/ это другой плагин
 
Сверху Снизу