Почему comment-reply.js не перемещает мою форму комментариев? - PullRequest
1 голос
/ 03 июня 2011

Я использую созданную вручную тему (WP v3.1.3 здесь), поэтому я предполагаю, что я пропустил тег, который не позволяет форме перемещаться.

Некоторые неполадки, которые яуже просматривал:

  • Скрипт: загрузка нормально, без ошибок в консоли.
  • Present: URL-адреса ответов, ссылающиеся на идентификатор комментария (?replytocom=2#respond)
  • Present:<ol class="commentlist">
  • Присутствует: <li id="li-comment-2" ...
  • Присутствует: <div id="respond"> инкапсулирует форму комментария
  • Ссылка для ответа выглядит хорошо: onclick='return addComment.moveForm("comment-2", "2", "respond", "39")'

Функция JS, о которой идет речь:

addComment = {
    moveForm : function(commId, parentId, respondId, postId) {
        var t = this, div, comm = t.I(commId), respond = t.I(respondId), cancel = t.I('cancel-comment-reply-link'), parent = t.I('comment_parent'), post = t.I('comment_post_ID');

        if ( ! comm || ! respond || ! cancel || ! parent )
            return;

        t.respondId = respondId;
        postId = postId || false;

        if ( ! t.I('wp-temp-form-div') ) {
            div = document.createElement('div');
            div.id = 'wp-temp-form-div';
            div.style.display = 'none';
            respond.parentNode.insertBefore(div, respond);
        }

        comm.parentNode.insertBefore(respond, comm.nextSibling);
        if ( post && postId )
            post.value = postId;
        parent.value = parentId;
        cancel.style.display = '';

        cancel.onclick = function() {
            var t = addComment, temp = t.I('wp-temp-form-div'), respond = t.I(t.respondId);

            if ( ! temp || ! respond )
                return;

            t.I('comment_parent').value = '0';
            temp.parentNode.insertBefore(respond, temp);
            temp.parentNode.removeChild(temp);
            this.style.display = 'none';
            this.onclick = null;
            return false;
        }

        try { t.I('comment').focus(); }
        catch(e) {}

        return false;
    },

    I : function(e) {
        return document.getElementById(e);
    }
}

1 Ответ

4 голосов
/ 03 июня 2011

Скрипт не был доволен тем, как моя тема скрывала связь с id="cancel-comment-reply-link" - как видно из скрипта: cancel = this.I('cancel-comment-reply-link') - и из-за этого терпел неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...