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

Решено Добавить кнопку "Купить в один клик"

Тема в разделе "Вопросы новичков", создана пользователем Nikita21, 14 апр 2016.

  1. Nikita21

    Nikita21

    Сообщения:
    18
    Симпатии:
    1
    Баллы:
    3
    Хочу добавить кнопку купить в один клик, которая будет брать ссылку из админки. Примерный код я нашел, но он касается РРЦ. Проблема в том, что атрибут "wc_rrp_product_field" по всей видимости является родным для woocommerce, и для того чтобы вы водилась ссылка необходим новый атрибут плюс хук к нему, а этого я делать не умею.
    Примерный код, прописывается в function.php.
    Код:
    /* ----------------------------------------------------------------------------------- */
    /* Купить в один клик
    /*----------------------------------------------------------------------------------- */
    add_action( 'woocommerce_product_options_pricing', 'wc_rrp_product_field' );
    
    function wc_rrp_product_field() {
    woocommerce_wp_text_input( array( 'id' => 'rrp_price', 'class' => 'wc_input_price short', 'label' => __( 'РРЦ', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')' ) );
    }
    
    add_action( 'save_post', 'wc_rrp_save_product' );
    
    function wc_rrp_save_product( $product_id ) {
    // Если это автосохранение, то ничего не делаем, сохраняем данные только при нажатии на кнопку Обновить
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
    return;
    if ( isset( $_POST['rrp_price'] ) ) {
    if ( is_string( $_POST['rrp_price'] ) )
    update_post_meta( $product_id, 'rrp_price', $_POST['rrp_price'] );
    }
    else delete_post_meta( $product_id, 'rrp_price' );
    }
    
    // и выводит в одиночном формате
    add_action( 'woocommerce_product_meta_start', 'wc_rrp_show', 5 );
    
    function wc_rrp_show() {
    global $product;
    // Ничего не предпринимаем для вариативных товаров
    if ( $product->product_type <> 'variable' ) {
    $rrp = get_post_meta( $product->id, 'rrp_price', true );
    echo '<div class="woocommerce_msrp">';
    echo '<div style="color:red;">';
    _e( 'РРЦ : ', 'woocommerce' );
    echo '<span class="woocommerce-rrp-price">' . woocommerce_price( $rrp ) . '</span>';
    echo '</div>';
    echo '</div>';
    }
    }
    // Дополнительно: Для вывода на страницах архивов (в товарных категориях, например)
    add_action( 'woocommerce_after_shop_loop_item', 'wc_rrp_show' );
    /* ----------------------------------------------------------------------------------- */
    На данный момент код работает следующим образом: прописываются цифры в админке [​IMG] , затем выводятся в карточке товара и в разделе все товары
    [​IMG] .
    Если поменять строку так
    Код:
    function wc_rrp_show() {
    global $product;
    // Ничего не предпринимаем для вариативных товаров
    if ( $product->product_type <> 'variable' ) {
    $rrp = get_post_meta( $product->id, 'rrp_price', true );
    echo '<div class="woocommerce_msrp">';
    echo '<a href='. woocommerce_price( $rrp ) . '>Купить в один клик</a>;
    echo '</div>';
    echo '</div>';
    }
    }
    То получаем почти то что надо. Проблема в том, что в админке в этой графе [​IMG]
    нельзя прописать ничего кроме цифр. И знак рубля остается. Когда удаляю код функции, отвечающей за знак рубля (. get_woocommerce_currency_symbol) выходит ошибка.
    Что необходимо сделать, чтобы в графу РРЦ можно было сохранять url? Как правильно убрать get_woocommerce_currency_symbol? Нужно ли прописывать новый атрибу, и если да, то где можно почитать как это все реализовать?)
    P.s. Я нуб в php, из всех функций знаю только include. =) Сильно не ругайтесь)
     
  2. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
    Все это очень любопытно, но не проще ли использовать готовый плагин?
     
  3. Nikita21

    Nikita21

    Сообщения:
    18
    Симпатии:
    1
    Баллы:
    3
    Как называется готовый плагин?
     
  4. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
  5. Nikita21

    Nikita21

    Сообщения:
    18
    Симпатии:
    1
    Баллы:
    3
    Смотрел я этот плагин. Не совсем то, что нужно. А нужно, что бы на каждый товар можно было сделать свою внешнюю ссылку. Ладно, я уже забил. Буду в описании добавлять html.=)
     
  6. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
    Подобных плагинов довольно много. Гуглите "Buy one click WooCommerce"