#php
#php
Вопрос:
У меня возникла небольшая проблема с удалением одной create_function () на моем сайте для перехода на PHP 7.2. Я никоим образом не программист, но поскольку это единственная строка, которая создает проблему на всем сайте, я подумал, что мог бы решить ее .. но, похоже, я не в состоянии! Это эта строка кода :
else {
$products_per_page = ot_get_option('shop_product_count', 12);
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return ' . $products_per_page . ';' ), 20 );
}
Я пробовал это
else {
$products_per_page = ot_get_option('shop_product_count', 12);
add_filter( 'loop_shop_per_page', function($cols) {
return '$products_per_page';}, 20 );
}
И пока мой сайт запущен, количество продуктов на страницу, заданное редактором бэкэнд-кода моего сайта, не применяется. На странице отображается количество из 10 продуктов (понятия не имею, почему 10), а не количество, указанное в серверном редакторе. Есть идеи, почему?
Комментарии:
1. удалите одинарные кавычки вокруг переменной. измените
return '$products_per_page';
наreturn $products_per_page;
Ответ №1:
Попробуйте это:
function ($cols) use ($products_per_page) {
return $products_per_page;
}
Комментарии:
1. Большое спасибо! Это идеально.
2. Мне это доставляет удовольствие.
3. Более подробно в анонимном руководстве , пример # 3