• Не работает сортировка WooCommerce?

    kalbac
    @kalbac
    Wordpress Developer Full-Stack
    Судя по всему цикл не срабатывает потому что функция is_shop() проверяет является ли данная страница страницей магазина или нет. Скорей всего у Вас в настройках указана другая страница (не главная).
    и ещё момент эстетики)) не нужно делать слияние массивов в атрибуте post__in. Сделайте проще 'post__in' => array( $products_on_sale )

    А ещё можно просто использовать шорткод
    [sale_products per_page="12" columns="4" orderby="title" order="asc"]
    Ответ написан
    Комментировать
  • Как оптимизировать цикл - перебора "for" JavaScript?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    использовать WebWorker
    www.w3.org/TR/workers

    или разбить на пакеты и учиться использовать промисы:
    var requestAsync = function (cb, ecb) {
        var pr = $.Deferred();
        $.ajax({
            url: url,
            type: 'post',
            data: {
            },
            success: function (data) {
                if (cb)
                    cb(data);
                pr.resolve();
            },
            error: function (xhr, status, error) {
                if (ecb)
                    ecb();
                pr.resolve();
            }
        });
        return pr;
    };
    var chunkSize = 5;
    var f = function(fcb){
    	var promises = [];	
    	for (var i = 0; i < Math.min(urls.length, chunkSize); i++)
    		promises.push(requestAsync(args));
    	if(promises.length)
    		$.when.apply($, promises).done(function(){
    			setTimeout(f.bind(fcb, this), 1);
    		});
    	else{
    		fcb();
    	}
    }
    f(function(){
    	console.log('complete');
    });

    но стоит помнить о проблемах: jquery промисы не являются промисами а+
    Ответ написан
    2 комментария
  • Как оптимизировать цикл - перебора "for" JavaScript?

    Stalker_RED
    @Stalker_RED
    Сейчас ваш скрипт запускает textFileToArray() с максимально возможной скоростью, и запускает множество setTimeout(..., 5000) которые запустятся через 5 секунд, много-много штук почти одновременно. Я догадываюсь, что вы хотели чего-то другого, но по вашему описанию непонятно чего именно.
    Ответ написан
    4 комментария