Git Product home page Git Product logo

Comments (15)

kalbac avatar kalbac commented on August 14, 2024 1

Для изменения названия тарифов используйте фильтр edostavka_delivery_tariff_name
Пример:

add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 );
function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) {
 if( 136 == absint( $tariff_id ) ) {
  $label = 'Моё название тарифа';
 }
 return $label;
}

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024 1

Фильтр edostavka_delivery_tariffs содержит массив тарифов в виде id => (numeric) label => название тарифа и type => тип тарифа (до двери [door]| до склада [stock])
Тарифы до постоматов уже не актуальны.

Пример добавления нового тарифа:

add_filter( 'edostavka_delivery_tariffs', 'add_my_custom_tariff');
function add_my_custom_tariff( $tariffs ) {
 array_push( $tariffs, array( 'id' => 158, 'label' => 'Международный экспресс', 'type' => 'stock'));
 return $tariffs;
}

Пример удаления тарифа:

add_filter( 'edostavka_delivery_tariffs', 'remove_tariff');
function remove_tariff( $tariffs ) {
 foreach( $tariffs as $index => $tariff ) {
  if( 158 == $tariff['id'] ) {
   unset( $tariffs[$index] );
  }
 }
 return $tariffs;
}

from wc-edostavka.

dimsonbgg avatar dimsonbgg commented on August 14, 2024 1

Максим вам больше поможет. А так, опишите проблему по подробнее, может найдем общее решение проблемы, укажите ссылку на сайт(страницу).

from wc-edostavka.

alexey13 avatar alexey13 commented on August 14, 2024

add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 ); function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) { if( 136 == absint( $tariff_id ) { $label = 'Моё название тарифа'; } return $label; }

При использовании этого кода получаю ошибку:
syntax error, unexpected '{' in line: if( 136 == absint( $tariff_id ) { $label = 'СДЭК доставка до пункта выдачи'; } return $label; }

from wc-edostavka.

alexey13 avatar alexey13 commented on August 14, 2024

В коде скобка пропущена

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024

Пример кода писался "на коленке". Спасибо что нашли опечатку.

from wc-edostavka.

me-2-you avatar me-2-you commented on August 14, 2024

Хмм, а если названия менять у нескольких тарифов? Как возвращать названия в одной функции? Это можно вообще или нет?

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024

@me-2-you Конечно... Делайте либо через switch либо просто для каждого тарифа отдельный if
if( 136 == $tariff_id ) //do rename tariff

from wc-edostavka.

me-2-you avatar me-2-you commented on August 14, 2024

@kalbac так я по этому и спрашивал... потому что когда я делаю два if или через switch, то начинает выводится только один переписанный метод с нужным названием, другие методы тупо исчезают...

Хотя сейчас вообще ничего не работает =( Все поудалял, но даже стандартные методы доставки не показываются...

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024

@me-2-you

if( 136 == absint( $tariff_id ) ) {
  $label = 'Моё название тарифа';
 } elseif( 135 == absint( $tariff_id ) ) {
  $label = 'Другое название тарифа';
 }

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024

Щас пришла ещё одна мысль, как переименовать несколько тарифов не применяя кучу IF

add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 );
function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) {
 $my_custom_names = array( 136 => 'Первое название', 135 => 'Второе название' ); //В общем создаём массив с вашими названиями тарифов.
 if( in_array( $tariff_id, array_keys( $my_custom_names ) ) ) {
  $label = $my_custom_names[$tariff_id];
 }
/*
* Или ещё проще $label = isset( $my_custom_names[$tariff_id] ) ? $my_custom_names[$tariff_id] : $label;
*/
 return $label;
}

from wc-edostavka.

dimsonbgg avatar dimsonbgg commented on August 14, 2024

А если сделать еще проще, переименовать название тарифа в файле funсtion.php самого плагина?

function wc_edostavka_get_delivery_tariffs() {
return apply_filters( 'edostavka_delivery_tariffs', array(
array(
.............
array(
'id' => 10,
'label' => 'Доставка до пункта выдачи заказов "СДЭК"',
'type' => 'stock'
),
array(
'id' => 11,
'label' => 'Доставка курьером "СДЭК" до двери',
'type' => 'door'
),
.............

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024

@dimsonbgg Это не будет проще, потому что при следующем обновлении у вас всё "слетит"

from wc-edostavka.

sergeygubanoff avatar sergeygubanoff commented on August 14, 2024

Для изменения названия тарифов используйте фильтр edostavka_delivery_tariff_name Пример:

Подскажите пожалуйста, куда и в какой файл вставить этот кусок кода, для изменения названия доставки?

from wc-edostavka.

kalbac avatar kalbac commented on August 14, 2024

@sergeygubanoff В файл functions.php в вашей активной теме. Но проще всего будет просто переименовать нужные тарифы в файле functions.php в плагине.

from wc-edostavka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.