Иногда, работая контент-менеджером, мне приходится сохранять много данных из Wordpress. Позвольте мне упростить: один продукт включает в себя ежедневную рассылку новостей; если клиент спрашивает, сколько раз его продукт появлялся в нашем информационном бюллетене, мне пришлось бы вручную считать в столбце WordPress «ежедневный информационный бюллетень».

Итак, после того, как я много раз проделал это (и очень устал смотреть на эти цифры), у меня возникла идея: почему бы мне не использовать код JavaScript на консоли, чтобы это было автоматизировано и сэкономило много рабочих часов? Так я и сделал.

Сначала я получил имя класса столбца в WordPress и назвал его «count»:

const count = document.getElementsByClassName("daily-newsletter-counter column-daily-newsletter-counter");

Затем я получил коллекцию HTML и превратил ее в массив.

const arrayCount = Array.prototype.slice.call(count);

Мне пришлось сопоставить элементы внутри массива, чтобы получить числа в столбце. Затем я получил второй массив со всеми номерами.

const countAll = arrayCount.map(function(element){ 
 return +element.innerText});

И затем, наконец, я сделал сокращение, чтобы суммировать каждое значение в столбце и вернуть его, чтобы обновить свой лист информацией.

countAll.reduce(function(total, item) { 
  return total + item
}, 0);