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

Почта России и EMS для WooCommerce плюс наложенный платеж.

Image CMS

artemkomarov

Специалист
Местный

ss2o

Новичок
как по мне все ок. Если проблема не в адресе покупателя то
смотрите логи своего сервера на наличие ошибок
ищите свой ip по статистике или черном списке
http://postcalc.ru/mystat.html
http://postcalc.ru/blacklist.php
В черном списке нет. Буду искать дальше.
Спасибо за то что уделили время.
 

dimson

Новичок
Всем добрый вечер! Столкнулся с такой проблемой от которой постоянно узнаю от клиентов:
Когда клиенты заходят на страницу оформления заказа, они хотят выбрать метод доставки Почта России, но они его не видят (поля не заполнены) и естественно не совершают покупку.
Пытался найти какой-либо хук на автоматический ввод любого значения, например 123456 в поле postcode, для того, чтобы Почта России сразу же активировалась, но найти к сожалению не удалось.
gt-ip-region based тоже не получается использовать, он "гасит" поле Область\регион, а через него работает плагин СДЭК.
Кто нибудь знает как решить данную проблему, как автоматически вставить любое значение в поле Почтовый код?

И еще один момент, наверняка многим хотелось бы скрывать не нужные поля при выборе разных методов доставки.
Например, вы выбрали бесплатную доставку по своему городу, соответственно поле Почтоый код нужно скрыть при данном методе доставки. Чем меньше полей - тем лучше. А для Почты России наоборот показать.
Есть вот такой вот код, но почему-то он у меня не работает, а должен.
Артем, Вы как профессиональный программист, можете посмотреть на код?

function premove_billing_checkout_fields($fields) {
$shipping_method ='local_pickup'; //value метода Бесплатная доставка при котором должен скрываться Почтовый код
global $woocommerce;
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];

if( $chosen_shipping == $shipping_method ) {
unset($fields['billing']['billing_postcode']);
}
return $fields;
}
add_filter('woocommerce_checkout_fields', 'premove_billing_checkout_fields', 990 );
 
в стоимость оценки не добавляются виртульные товары.


ссылку на ваш магазин можно?
http://test.johnatvo.bget.ru Вот здесь. Действительно, виртуальные товары не считает, но вроде как и раньше не считало, разве нет?
Скачиваемые товары когда добавляешь в корзину отдельно, считает 47 рублей. Когда добавляешься наряду с обычными товарами, доставку считает только за обычные.
 

artemkomarov

Специалист
Местный
Действительно, виртуальные товары не считает, но вроде как и раньше не считало, разве нет?
нет
Скачиваемые товары когда добавляешь в корзину отдельно, считает 47 рублей. Когда добавляешься наряду с обычными товарами, доставку считает только за обычные.
woocommerce даже не начнет расчет доставки если в корзине одни виртуальные товары так что ошибка где то у вас в админке
 
woocommerce даже не начнет расчет доставки если в корзине одни виртуальные товары так что ошибка где то у вас в админке
у меня вариативные товары - бумажные и электронные книги. Я создаю один товар с атрибутом Вид, поэтому woocommerce не считает их просто обычными скачиваемыми товарами, а одним из видов. Скачиваемый не равно виртуальный.
 

artemkomarov

Специалист
Местный
Артем, Вы как профессиональный программист, можете посмотреть на код?
Я не програмист, я просто балуюсь)
И еще один момент, наверняка многим хотелось бы скрывать не нужные поля при выборе разных методов доставки.
Например, вы выбрали бесплатную доставку по своему городу, соответственно поле Почтоый код нужно скрыть при данном методе доставки. Чем меньше полей - тем лучше. А для Почты России наоборот показать.
на основе каких данных вы узнаете местность покупателя чтобы предложить ему доставку по городу?
на основе каких даных методы доставки будут отображаться?

все шаблонные интернет магазины работают по такому принципу. если хотите как то решить описанную проблему сделайте пошаговое оформление заказа.
 

artemkomarov

Специалист
Местный
у меня вариативные товары - бумажные и электронные книги. Я создаю один товар с атрибутом Вид, поэтому woocommerce не считает их просто обычными скачиваемыми товарами, а одним из видов. Скачиваемый не равно виртуальный.
Скачиваемые товары идут наряду с физическими. То есть покупаете холодильник а вот инструкция к нему может быть скачена по этой ссылке. Покупаете печатное издание, а вот вам бонус в виде электронной версии этой книги. То есть скачиваемый товар идет наряду с физическим. В вашем же случае "Вид" означает физическое состояние и при выборе электронное имеется ввиду виртуальный товар так что галочка виртуальный товар должна быть поставлена в вариации.
 

dimson

Новичок
Я не програмист, я просто балуюсь)

на основе каких данных вы узнаете местность покупателя чтобы предложить ему доставку по городу?
на основе каких даных методы доставки будут отображаться?

все шаблонные интернет магазины работают по такому принципу. если хотите как то решить описанную проблему сделайте пошаговое оформление заказа.
Очень хорошо у Вас получается "баловаться")
Как показывает сугубо наша практика, Почтой России можно доставить любому клиенту, а вот СДЭК и пикпоинт, подключенный у нас доступен не для всех.
Неделю назад отправляли заказ в деревню близ Украины, туда только Почта России доставляет, а ближайшая точка доставки СДЭК в 130км. Этот клиент звонил и спрашивал: "Почему я не могу заказать Почтой России, ведь у вас написано что она есть". Я ему ответил, что нужно заполнить все поля и только после этого, появится возможность".
А ведь сколько клиентов "уходят" из-за этого, что не могут выбрать метод доставки Почта России, исходя из вебвизора яндекс метрики.
Цена Почты России в конце заполнения всех адресов обновится до нужной, но вот только как же это сделать...
На взгляд нашей компании это очень важный фактор и с точки зрения большей конверсии и сточки зрения клиента, что он сразу же видет и может выбрать Почту России.
Похоже придется писать большими красными буквами на странице оформления заказа:
"Уважаемые клиенты, для того, чтобы выбрать способ доставки Почта России, заполните все поля включая индекс"
Колхозно будет выглядеть тогда, но что поделать...

Мы чуть "под урезали" Ваш плагин gt-ip-based, удалили из js файла region, т.к. он блокировал появление городов плагина СДЭК. Сейчас на зеркале сайта при очищенных куки, стоит ввести хоть одну цифру в поле Почтовый индекс ( абсолютно не заполняя все остальные поля) сразу же появляется метод доставки Почта России и цена 40 рублей. Цена в целом в начале не важна, важен фактор выбора Почты Доставки без введения значений в поля (опять таки, исхожу из статистики наших покупок и удобства для клиентов)
 

dimson

Новичок
Я не програмист, я просто балуюсь)

на основе каких данных вы узнаете местность покупателя чтобы предложить ему доставку по городу?
на основе каких даных методы доставки будут отображаться?

все шаблонные интернет магазины работают по такому принципу. если хотите как то решить описанную проблему сделайте пошаговое оформление заказа.
Пошаговое оформление заказа было бы замечательно, только:
1) Первым пунктом нужно как то сделать появление методов доставки: Почта России \ СДЭК \ PickPoint \ Бесплатная доставка по городу
2) Ввод необходимых полей отталкиваясь от метода доставки:
• Для СДЭК: имя, фамилия, емаил, телефон, город ( область), адрес (если заказ курьера)
• Для Почты России:имя, фамилия, емаил, телефон, город(область), адрес, почтовый индекс
• Для Пикпоинт: имя, фамилия, емаил, телефон.
• Для Бесплатной доставки по городу: Имя, фамилия, емаил, телефон, адрес.
3) Способы оплаты
4) Покупка

Именно в такой последовательности в идеале все должно быть, только таких плагинов увы нету
 

dimson

Новичок
Я не програмист, я просто балуюсь)

на основе каких данных вы узнаете местность покупателя чтобы предложить ему доставку по городу?
на основе каких даных методы доставки будут отображаться?

все шаблонные интернет магазины работают по такому принципу. если хотите как то решить описанную проблему сделайте пошаговое оформление заказа.
Но не смотря на это, мы очень рады, что есть такой человек, как Вы - Артем. Что сделали очень хороший плагин.
А можем ли мы с Вами по общаться, реально ли сделать то, что я указал Выше? ( за указанное Вами вознаграждение )
 

artemkomarov

Специалист
Местный
Именно в такой последовательности в идеале все должно быть, только таких плагинов увы нету
Закажите на бирже фрилансеров. Такой плагин по стоимости немного выйдет.

А можем ли мы с Вами по общаться, реально ли сделать то, что я указал Выше?
Извините я не занимаюсь фрилансом.

Что сделали очень хороший плагин.
спасибо)
 

dimson

Новичок
Закажите на бирже фрилансеров. Такой плагин по стоимости немного выйдет.


Извините я не занимаюсь фрилансом.


спасибо)
Код работает!
Использовал не совсем верную функцию вызова.
Правда пока сыровато.
Скрывает поля в зависимости от выбранного метода доставки ТОЛЬКО при обновлении страницы, нужно как-то сделать через Ajax.
Хрен знает как правда.... :(

function premove_billing_checkout_fields($fields) {
global $woocommerce;
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];

if( $chosen_shipping === 'local_pickup:20' ) {
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_country']);
}
if( $chosen_shipping === 'wc_custom_shipping_pickpoint' ) {
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_state']);
}
return $fields;
}
add_filter('woocommerce_checkout_fields', 'premove_billing_checkout_fields', 990 );
 
Привет друзья. Я создал пару бесплатных плагинов для WooCommerce. Они еще недоработаны до полноценного взрослого продукта, но покрывают 90% нужд продавцов.


Почта России и EMS для WooCommerce
https://ru.wordpress.org/plugins/russian-post-and-ems-for-woocommerce/

Плагин позволяет автоматически рассчитать стоимость доставки "Почтой России" или "EMS" на странице оформления заказа при помощи сервиса postcalc.ru. Плагин создан под WooCommerce 2.6+ для установки в созданные зоны доставки.


Наложенный платеж Почты России и EMS для WooCommerce
https://ru.wordpress.org/plugins/cash-on-delivery-of-russian-post-or-ems-for-woocommerce/

Плагин автоматически рассчитывает комиссию за наложенный платеж на основе тарифов Почты России или EMS. Плагин вычисляет процент от суммы заказа и прибавляет к итоговой стоимости.



Как вы наверное знаете для разработчиков самое важное это обратная связь. Так что если у вас есть какие то замечания или предложения по работе плагинов, я бы с радостью их выслушал. Спасибо.




помогите решить проблему как убрать надпись Honda VFR 1200 DCT ABS
с этого сайта http://akibo-corporation.ru.xsph.ru/каталог/
 

dimson

Новичок
Приветствую всех! Для того, чтобы Почта России сразу же появлялась для "нового клиента" как метод доставки, нужно принудительно вписать в поле "Почтовый индекс" любое число. Сделать это можно следующим способом: Заходим на фтп сервер в папку plugins/woocommerce/includes и редактируем файл class-wc-checkout.php. В самом низу находим следующим код:

public function get_value( $input ) {
if ( ! empty( $_POST[ $input ] ) ) {
return wc_clean( $_POST[ $input ] );
......//спускаемся ниже, нас интересует
switch ( $input ) {
case 'billing_country' :
return apply_filters( 'default_checkout_country', WC()->customer->get_country() ? WC()->customer->get_country() : '', 'billing' );
case 'billing_state' :
return apply_filters( 'default_checkout_state', WC()->customer->get_state() ? WC()->customer->get_state() : '', 'billing' );
case 'billing_postcode' :
return apply_filters( 'default_checkout_postcode', WC()->customer->get_postcode() ? WC()->customer->get_postcode() : '123456', 'billing' );
..............
}
}
}

Вместо пустых кавычек в case 'billing_postcode', вставьте любое значение.
После этого залейте данный файл обратно на сервер.
Вуаля, теперь новый клиент который без регистрации захотел купить Ваш товар сразу же увидит Почту России, приобретет у Вас товар и не скажет Вам:
"Я зашел на страницу оформлению заказа, но не могу найти метод доставки Почта России, поэтому я ушел к другому интернет-магазину".
Для нашей компании решение данной проблемы стояло очень остро, может кому-то пригодится данное решение.

У нас в России очень плохо развита логистическая составляющая, тем более для интернет-магазинов, поэтому передаем огромную благодарность Артему Комарову за замечательный плагин!
 

tuxfighter

Гуру
Местный
и все это работает только до первого обновления ВУУ
пользуйтесь дочерними темами!
 

dimson

Новичок
При обновлении woocommerce все слетит скорее всего, можете попробовать добавить следующий код в файл function.php вашей темы. У одних данный код работает, у других нет. Если этот не заработает, то целесообразнее исправить в файле class-wc-checkout.php

add_filter( 'woocommerce_checkout_fields' , 'default_values_checkout_fields' );
function default_values_checkout_fields( $fields ) {
$fields['billing']['billing_postcode']['default'] = '123456';
return $fields;
}

Если у Вас массив, то нужно добавить следующую строчку выделенную красным:

function caf_woocommerce_checkout_fields( $checkout_fields = array() ) {
$checkout_fields['billing']['billing_postcode'] = array(
'type' => 'text',
'maxlength' => '6',
'label' => __('Почтовый код'),
'default' => '123456',
);

return $checkout_fields;
}
add_filter( 'woocommerce_checkout_fields', 'caf_woocommerce_checkout_fields' );
 
Сверху Снизу