Intereting Posts

Comments_template не работает

Если я использую

comments_template(); 

он вообще не работает. Но если я изменю его на

 global $withcomments; $withcomments = 1; comments_template( 'comments.php', true ); 

он отображает шаблон комментариев, но мне нужно настроить плагин Disqus, и плагин не работает. Я не понимаю, получать комментарии для показа невероятно сложно по какой-то причине ..

dev link


(попытался усечь неприменимый код, чтобы он был коротким)

index.php

 if ( have_posts() ) { while ( have_posts() ) { the_post(); get_template_part( 'content' ); } } ?> 

content.php

 <script> jQuery(document).ready(function($) { $( ".content" ).hide (); $( ".entry-footer" ).hide (); $( ".more" ).click ( function () { $( this ).parent ().next ( '.content' ).show ( "blind", {direction : "vertical"}, 750 ); $( this ).next ( '.entry-footer' ).show ( "fast" ); $( this ).hide (); } ); $( ".close" ).click ( function () { $( this ).parent ( ".content" ).hide ( "blind", {direction : "vertical"}, 750 ); $( ".more" ).show (); } ); } ); </script> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> itemscope itemprop="blogPost" itemtype="http://schema.org/BlogPosting"> <?php get_template_part( 'content', 'header' ); ?> <div class="entry-content"> <?php $entrycontent = $lithograph_theme_options['excerpt_content']; if ( $entrycontent != '' ) { switch ( $entrycontent ) { case 'excerpt': if ( $lithograph_theme_options['slideout_content'] == 0 ) the_excerpt(); else : ?> <span class="excerpt" itemprop="text"> <?php if(!empty($post->post_excerpt)) the_excerpt(); else : echo get_first_paragraph(); ?> <span class="more">+ more</span> </span> <span class="content" itemprop="text"> <?php echo get_the_post(); ?> <span class="close">- close</span> <?php get_template_part( 'content', 'footer' ); comments_template( 'comments.php', true ); ?> </span> <?php } break; case 'content': the_content(); global $withcomments; $withcomments = 1; comments_template( 'comments.php', true ); break; } } ?> </div> </article> 

(шаблон общих комментариев)

comments.php

 <?php if($comments) { ?> <ol> <?php foreach($comments as $comment) { ?> <li id="comment-<?php comment_ID(); ?>"> <?php if ($comment->comment_approved == '0') { ?> <p>Your comment is awaiting approval</p> <?php } comment_text(); ?> <cite><?php comment_type(); ?> by <?php comment_author_link(); ?> on <?php comment_date(); ?> at <?php comment_time(); ?></cite> </li> <?php } ?> </ol> <?php } else { ?> <p>No comments yet</p> <?php } ?> текст <?php if($comments) { ?> <ol> <?php foreach($comments as $comment) { ?> <li id="comment-<?php comment_ID(); ?>"> <?php if ($comment->comment_approved == '0') { ?> <p>Your comment is awaiting approval</p> <?php } comment_text(); ?> <cite><?php comment_type(); ?> by <?php comment_author_link(); ?> on <?php comment_date(); ?> at <?php comment_time(); ?></cite> </li> <?php } ?> </ol> <?php } else { ?> <p>No comments yet</p> <?php } ?> 

Solutions Collecting From Web of "Comments_template не работает"

Мне кажется, что вы пытаетесь использовать шаблон комментариев вне контекста. В кодексе указано:

Загружает шаблон комментария. Для использования в отдельных сообщениях «Почта» и «Страница». Не будет работать за пределами отдельных дисплеев, если для параметра $ withcomments установлено значение «1».

Если у вас нет is_single() на index.php или используйте $withcomments = 1 он не предназначен для работы. Чтобы загрузить комментарии в свой шаблон, вы должны создать page.php и single.php .