• Как изменить цену товара при добавлении в корзину?

    @graf45231 Автор вопроса
    Решил первую проблему путем добавления одной функции и редактирования написанной. Вот код, мб кому то пригодится.

    function MTWC_add_item_data($cart_item_data, $product_id, $variation_id)
    {
        if( isset($_REQUEST['mono_check'])) {
            $cart_item_data['mono_check'] = $_REQUEST['mono_check'];
            if (isset($_REQUEST['mono_symbols'])) {
                $cart_item_data['mono_symbols'] = $_REQUEST['mono_symbols'];
            }
            if (isset($_REQUEST['mono_type'])) {
                $cart_item_data['mono_type'] = $_REQUEST['mono_type'];
            }
            //Запоминаем новую цену товара при отправке в корзину
            $product = wc_get_product($product_id); 
            $price = $product->get_price();
            $cart_item_data['warranty_price'] = $price + 700;
        }
        return $cart_item_data;
    }
    add_filter('woocommerce_get_item_data', 'MTWC_add_item_meta', 10, 2);
    
    //Меняем цену товара перед расчетом цены
    function before_calculate_totals( $cart_obj ) {
        foreach( $cart_obj->get_cart() as $key=>$value ) {
            if( isset( $value['warranty_price'] ) ) {
                $price = $value['warranty_price'];
                $value['data']->set_price( ( $price ) );
            }
        }
    }
    add_action( 'woocommerce_before_calculate_totals', 'before_calculate_totals', 10, 1 );
    Ответ написан
    Комментировать
  • Какой алгоритм структуры данных использовать для написания своего велосипеда?

    @graf45231
    Просто реализуйте свой KeyValuePair, в нём есть всё, что нужно для словаря. А база это на ваше усмотрение, какая БД вам удобна ту и используйте, но она определённо нужна. Не будете же вы хранить слова в .txt файле
    Ответ написан
    Комментировать
  • Рухнул сайт Wordpress после установки плагина. Что делать?

    @graf45231
    Если нет доступа к админке, то можно через ftp зайти и по одному отключать каждый плагин. И каждый раз проверять заработала ли страница, если заработает, то проблема в отключённом плагине. Плагины отключить можно переименовав папку плагина.
    Ответ написан
    Комментировать