Можно ли переместить комментарий, который должен быть ответом на другой комментарий?


Мне нравится иметь чистый блог, и мне также нравится, что комментарии, которые являются ответами на другие комментарии, на самом деле являются ответами на другие комментарии. Некоторые люди не слишком возражают против этой разницы и просто оставляют другой комментарий вместо ответа. Это нормально, но я хотел бы исправить это, чтобы мой блог оставался чистым и чтобы все было яснее для меня.

Есть ли способ "переместить" обычный комментарий, чтобы он вместо этого стал ответом на определенный комментарий?

Author: Svish, 2010-12-12

3 answers

Во-первых, если вы еще не используете его, вам нужен комментарий с потоком wordpress. конечно, вы можете стилизовать его с помощью css.

После этого, если кто-то прокомментирует сообщение, и вы думаете, что это должен был быть ответ на какой-то другой комментарий, вы можете сделать это с помощью переместить комментарии wordpress или просто сделать это вручную...

 0
Author: tkit, 2010-12-12 12:22:47

Я использую два плагина для перемещения комментариев, использовал их на сайте для перемещения более 1000 комментариев к различным постам (большинство моих комментаторов опубликовали 90%+ комментариев к одному популярному посту, независимо от того, о чем был комментарий!).

Http://www.dountsis.com/projects/move-comments /: это позволяет перемещать несколько комментариев за один раз. Это полезно для перемещения целых потоков из одного сообщения в другое.

Плагин, рекомендованный pootzko: перемещайте по одному комментарию за раз включая изменение резьбы.

Примечание: если вы переместите потоковый комментарий с ответами в другое сообщение и не переместите также ответы, это "нарушит" потоковую передачу, вы обнаружите, что дочерние комментарии не имеют правильной потоковой передачи. Поэтому вам нужно переместить их все в поток (или удалить потоковую обработку в дочерних комментариях).

Дэвид

 1
Author: David Law, 2010-12-20 02:38:11

Альтернатива для пользовательского источника. Я читал эти ответы, но плагины старые или с большим количеством опций, и я оставлю свое небольшое решение.

Я никогда не знал, что так просто скопировать все комментарии из одного сообщения WordPress в другое. Следующий фрагмент копирует все сообщения из $post_id в $new_post_id.

<?php
// copy all comments from post $post_id to post $new_post_id
foreach ( get_comments( array( 'post_id' => $post_id ) ) as $comment ) {
    $comment->comment_post_ID = $new_post_id;
    wp_insert_comment( (array) $comment );
}

get_comments() это удобная функция для WP_Comment_Query, поэтому, если вы поместите этот фрагмент в цикл, вы можете опустить параметр ‘post_id’.

О, и если ты этого не сделаешь нужно скопировать, но чтобы переместить комментарии, вам может быть лучше просто запустить старый добрый SQL в вашу базу данных:

<?php
function move_comments( $from_post_id, $to_post_id ) {
  global $wpdb;

  $sql = sprintf(
    'UPDATE %s SET comment_post_id=%s WHERE comment_post_id=%s;',
    $wpdb->comments,
    (int) $to_post_id,
    (int) $from_post_id
  );

  $wpdb->query( $sql );
}
 0
Author: bueltge, 2013-03-04 14:36:31