Вопрос: Загрузить пользовательский отформатированный комментарий с помощью AJAX: ссылка для ответа не отображается?

Я отправляю комментарии с помощью AJAX, а затем загружаю их в ответ. Короче говоря, все работает нормально, за исключением того, что ответная ссылка не отображается на странице. Как я понимаю, проблема в том, что нельзя передать $ args . Как получить доступ к $ args или max_depth вне обратного вызова?

Функция обратного вызова:

 function prefix_format_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; ?>      <div class="comment" id="comment-<?php echo $comment->ID; ?>"     ...Comment code – not published here for brevity...     <?php comment_reply_link( array_merge( $args, array(            'reply_text' => 'Reply'            'depth'      => $depth,            'max_depth'  => $args['max_depth']        ) ) ); ?>    </div> <?php  }

Функция обработки комментариев (некоторые части удалены для краткости)

function prefix_submit_ajax_comment(){    $comment = wp_handle_comment_submission( wp_unslash( $_POST ) );    ...handle errors and get $comment_depth...    $GLOBALS['comment'] = $comment;    $GLOBALS['comment_depth'] = $comment_depth;    op_format_comment($comment, $args, $comment_depth); //how to pass args here???}

Ответы и комментарии:

Похоже, вы можете получить max_depth из опций через get_option ('thread_comments_depth'):
function prefix_submit_ajax_comment () {
    $ comment = wp_handle_comment_submission (wp_unslash ($ _POST));

    ... обрабатывать ошибки и получать $ comment_depth ...

    $ GLOBALS ['comment'] = $ comment;
    $ GLOBALS ['comment_depth'] = $ comment_depth;
    $ args ['max_depth'] = get_option ('thread_comments_depth'); // решение

    op_format_comment ($ comment, $ args, $ comment_depth);
}
Создан 24-11-2017 03:55 Runnick194314