Posso separar os comentários da postagem?

Eu tenho um tipo de anexos que precisam de exibição em canvas cheia. Então, eu preciso colocar o formulário de comentários em outro lugar. Como posso dizer ao WP que esses comentários pertencem a uma publicação?

Solutions Collecting From Web of "Posso separar os comentários da postagem?"

A maioria dos temas iniciantes agora, como Twenty Eleven , vem com arquivos separados para cada modelo – por exemplo, single.php e content-single.php representam o modelo Único (Post) em Twenty Eleven.

O tema inicial que uso, Reddle ( ddl ), tem a mesma hierarquia do modelo, e aqui está a solução que estou usando …

  1. Crie uma página em branco (NOT Post) intitulada “Comentários, Perguntas e Feedback” ou algo de sua escolha. Deixe o corpo vazio e publique a página.

  2. Faça uma cópia do single.php e renomeie-o para page-comments.php (onde “comentários” na página – comentários .php é o slug da página que criamos acima).

    (A) Nela, substitua isso:

     < ?php while ( have_posts() ) : the_post(); ?> 

    com isso:

     < ?php $p = $_GET['u']; $the_query = new WP_Query("showposts=1&p=" . $p); while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 

    (B) Substitua também isso:

     < ?php get_template_part( 'content', 'single' ); ?> 

    com isso:

     < ?php get_template_part( 'content', 'comments' ); ?> 
  3. Faça uma cópia do content-single.php e renomeie-o para content-comments.php (em comentários de conteúdo .php “comentários” deve ser o mesmo que o parâmetro que você usa em < ?php get_template_part( 'content', 'comments' ); ?> como mostrado acima 2 (B) ).

    Agora, dependendo do conteúdo que deseja mostrar na página de comentários autônomo, edite todo o código no modelo. Por exemplo, a primeira coisa que você deseja remover é o código que exibe o conteúdo do post.

    Por exemplo, este é o content-single.php original content-single.php do meu tema e depois de editar todo o código desnecessário (que eu não queria mostrar na página de comentários), isso é o que resta no arquivo:

     < ?php /** * The default template for displaying post comments. * * @package Reddle * @since Reddle 1.0 */ ?> 
    >

    < ?php the_title(); ?>

    < ?php if ( comments_open() || ( '0' != get_comments_number() && ! comments_open() ) ) : ?> < ?php endif; ?>
  4. Adicione uma regra de reescrita ao arquivo .htaccess para tornar o URL da página de comentários bonito:

     RewriteRule ^comments/([0-9]+)/?$ /comments/?u=$1 [QSA,L] 

    Agora, a página de Comentários para uma publicação seria http://example.com/comments/17/ se 17 for sua ID de postagem.

  5. Como seus leitores saberão onde deixar comentários a menos que você vincule à página de comentários? Então, no seu content-single.php ou qualquer modelo apropriado para você (dependendo de onde você deseja mostrar o link), use este código:

     Leave A Comment! 

É muito simples, e não há CSS adicionais envolvidos, pois suas páginas de comentários herdam o mesmo modelo que suas postagens. Sim, tentei isso antes de compartilhar a resposta aqui. Funcionou como um encanto!

SCREENSHOTS

(Rough but working …)

Captura de tela


Com base em ” Fornecer uma melhor experiência de leitura em seu Blog WordPress ” por Amit Agarwal.

Isso é um tanto complexo, porque várias coisas precisam ser feitas para que ele funcione. Sugiro que você escreva isso como um plugin em vez de despejá-lo em seu tema.

A primeira coisa que você precisa são os comentários reais do post, você tem duas opções aqui:

  1. get_comments : http://codex.wordpress.org/Function_Reference/get_comments
  2. wp_list_comments http://codex.wordpress.org/Function_Reference/wp_list_comments

Ambos precisarão ser aprovados no ID da postagem, eu sugiro fazer uma function de retorno de chamada para wp_list_comments .

Você também precisará usar outra function chamada comment_form para renderizar a input para fazer comentários reais. http://codex.wordpress.org/Function_Reference/comment_form

A input e a saída dos comentários são diretas, o desafio é criar um relacionamento entre o post e o formulário / exibição de comentário separado para que o usuário possa navegar e avançar facilmente. Eu recomendo ler a resposta de MikeSchinkel nesta publicação para realizar isso
Vincular a Página Mostrando Somente Comentários Sem Mensagem Principal

E sobre uma página de publicação com abas, assim como o reuters.com. Você pode usar css puro ou ajax e separar o conteúdo do post dos comentários visualmente.