Size: a a a

WordPress – русскоговорящее сообщество

2021 October 12

YK

Yuriy Kovalenko in WordPress – русскоговорящее сообщество
источник

YK

Yuriy Kovalenko in WordPress – русскоговорящее сообщество
источник

РГ

Роман Герасименко... in WordPress – русскоговорящее сообщество
Ребят, написал код, который должен менять надпись на кнопке добавить в корзину при цене = 0.
Но ВП ложится из-за этого.

Мне кажется, я неправильно "подтягиваю" цену.
Или криво функцию вызвал.

Без условий код работает, кнопку меняет, а если условия написаны, то вот крошится.

Подскажите, пожалуйста, что не так))

===

function nulled_price_call ($product) {
 if ($product -> get_price_html() > 0) {
   return $product;
}
   else {
 add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_theme_cart_button_text' );
 function my_theme_cart_button_text() {
   return 'Запросить стоимость';
 }
}
}

nulled_price_call()
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
Точка с запятой в последней строке
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
И научись смотреть в логи
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
99.9% твоих проблем будет указано именно там, что касается синтаксиса и прочего
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
И оператор else тебе не нужен, т.к. в if ты выходишь из функции.
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
И каким-то хитрым образом ты функцию в функцию вложил. Разве такое допустимо?
источник

РГ

Роман Герасименко... in WordPress – русскоговорящее сообщество
Я пхп три дня назад начал учить))
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
Либо анонимную функцию передавай, либо выноси my_theme_cart_button_text наружу
источник

РГ

Роман Герасименко... in WordPress – русскоговорящее сообщество
Ааа
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
И что? Каждый раз теперь этим оправдываться будешь?
источник

РГ

Роман Герасименко... in WordPress – русскоговорящее сообщество
Т.е до условий просто сделать фильтр, а уже в самих услвоиях вывести функцию?
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
Вынеси вложенную функцию до первой функции
источник

РГ

Роман Герасименко... in WordPress – русскоговорящее сообщество
add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_theme_cart_button_text' );
 function my_theme_cart_button_text() {
   return 'Запросить стоимость';
 }


function nulled_price_call ($product) {
 if ($product -> get_price_html() > 0) {
 my_theme_cart_button_text();
}
}

nulled_price_call();


Так?
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
add_filter оставляешь внутри nulled_price_call, а function my_theme_ выносишь наружу
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
Чота у тебя вообще каша в голове, дружище
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
Ты сам свой же код поломал. Попробуй взять листок с карандашом и для себя нарисовать то, как это должно быть
источник

РГ

Роман Герасименко... in WordPress – русскоговорящее сообщество
Еще учиться и учиться))
источник

AK

Alexander Kadyrov in WordPress – русскоговорящее сообщество
А потом запрограммируй, вместо того, чтобы попытаться угадать вариант
источник