Скопируйте кнопку ответа в каждую ветку комментариев в WordPress. Конвертировано из jQuery в JavaScript

Я преобразовал свой старый плагин WordPress из jQuery в простой JavaScript, используя шпаргалку. Я был очень удивлен, что с первой попытки он работает прямо из коробки.

(function ($) {
    $(document).ready(function ($) {

        $('.comment-list > li .comment-reply').each(function () {

            var reply = this;

            /* collect every comment which needs a reply link */
            var allchildren = $(reply).parent().children('.children').children().find(".comment-content");

            $.each(allchildren, function (index, value) {
                $(reply).clone().appendTo(value);
            });

        });
    });
})(jQuery);

Стало так:

const replybtns = document.querySelectorAll(".comment-list > li .comment-reply");

for (let i = 0; i < replybtns.length; i++) {
    let replybtn = replybtns[i];
    let replybtncp = replybtn.cloneNode(true);
    let cc = replybtn.parentElement.querySelectorAll('.children div.comment-content');
    let lastcc = cc[Object.keys(cc)[Object.keys(cc).length - 1]];
    lastcc.appendChild(replybtncp);
}

При этом копируются все ссылки для ответов всех вложенных комментариев уровня 1 и они добавляются к последнему комментарию.

Этот код в порядке? Неужели все так просто? Я тестировал его с Firefox и Chrome, и, похоже, он работает. Я знаю, что он добавляет ссылку на ответ только к последнему элементу. Я сделал это специально, чтобы было проще.

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *