Wordpress - & ldquo; loading.gif & rdquo; из & ldquo; jquery.js & rdquo; взлом безопасности ssl

Одним простым решением для перемещения MongoCursor на стороне PHP является использование генераторов, а также foreach или array_map($function, iterator_to_array($cursor)). Пример:

function map_traversable(callable $mapper, \Traversable $iterator) {
    foreach($iterator as $val) {
        yield $mapper($val);
    }
}

Вы можете встретить больше в документации PHP о синтаксисе генераторов .

Итак, теперь вы можете использовать / повторно использовать его (или аналогичную реализацию ) для любого предложения «проецировать» ваши данные на стороне PHP с любым количеством сопоставлений (точно так же, как и в aggregate), но с меньшим количеством итераций. И это решение довольно удобно для ООП в случае повторного использования ваших функций map.

UPD: Только для вашего примера ниже:

$cursor = $db->getCollection('example')->find(["example":1],["_id":1]);
$mapper = function($record) {
    return array('id' => (string) $record['_id']); //see \MongoId::__toString()
}
$traversableWithIdAsStringApplied = map_traversable($mapper, $cursor);
//...

теперь вы можете продолжить больше сопоставлений, применяемых к $ traversableWithIdAsStringApplied, или используйте только iterator_to_array для простого извлечения массива.

1
задан Kjubu 15 January 2019 в 22:26
поделиться

1 ответ

Используемая вами тема - Lavander Lite. Он использует пакет JS, называемый Infinite Scroll, но его версия устарела и использует ссылки не-https, что приводит к вашей ошибке.

Вы можете попробовать переопределить этот файл с копией файла с фиксированными URL-адресами, используя дочернюю тему.

Другим вариантом является непосредственное изменение URL-адресов в самих файлах темы. Обычно об этом предупреждают, поскольку темы могут быть обновлены, и вы можете потерять свои изменения, но тема старая и не поддерживается - в последний раз она обновлялась в конце 2017 года, поэтому вряд ли появятся дальнейшие обновления.

Итак, для быстрого исправления откройте /wp-content/themes/lavander-lite/js/pmc_infinity.js и найдите и замените:

loadingImg:"http://www.infinite-scroll.com/loading.gif

на:

loadingImg:"https://infinite-scroll.com/loading.gif

или, что еще лучше, загрузите этот gif-файл и поместите его на свой сервер со ссылкой на него из этого файла.

0
ответ дан markmoxx 15 January 2019 в 22:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: