개요

개발자로써 워드프레스로 블로그를 운영한다. 그런데 각 글의 상세 페이지에서는 Disqus 댓글이 잘 보이는데 블로그로 첫 페이지에서는 댓글이 보이지 않았다. 그래서 Disqus 댓글을 첫페이지서 보는 방법을 검색해서 알아보고 내용을 정리한다.

적용방법

적용 방법은 소스파일을 직접 수정하는 방법이다.(개발자라 이부분이 편해서 이렇게 작업했다.)

워드프레스는 wp-content/themes/ 밑으로 존재하는 테마에서 직접 index.php, single.php 등을 서비스 한다.

따라서 블로그 페이지 목록을 담당하는 index.php에서 아래의 소스수정을 순서대로 수행하면 된다.

  • endwhile 전에 를 넣는다. 넣는 문자열은 disqus shortname이다.

  • 파일 맨 하단에 disqus_embed 함수를 아래와 똑같이 붙여넣는다.

    <?php get_header(); ?>
    
        <div class="container">
        <div class="row">
            <div class="col-md-10" style="min-height: 230px;">
            <?php if(have_posts()): ?>
    
                <?php
                // The loop!
                while (have_posts()) : the_post();
                ?>
    
                    <?php get_template_part('content'); ?>
    
                <?php disqus_embed('lks21c'); ?>
    
                <?php
                endwhile; // End of the loop
                ?>
    
            <?php else: ?>
    
                <?php get_template_part('content', 'none'); ?>
    
            <?php endif; ?>
    
            <?php wp_link_pages(); ?>
            <ul class="pager">
                <li class="previous"><?php next_posts_link( __('Older posts', 'gitsta') ); ?></li>
                <li class="next"><?php previous_posts_link( __('Newer posts', 'gitsta') ); ?></li>
            </ul>
            </div>
            <div class="col-md-2">
            <?php get_sidebar(); ?>
            </div>
        </div>
    
    <?php get_footer(); ?>
    
    <?php
    function disqus_embed($disqus_shortname) {
        global $post;
        wp_enqueue_script('disqus_embed','http://'.$disqus_shortname.'.disqus.com/embed.js');
        echo '<div id="disqus_thread"></div>
        <script type="text/javascript">
        var disqus_shortname = "'.$disqus_shortname.'";
        var disqus_title = "'.$post->post_title.'";
        var disqus_url = "'.get_permalink($post->ID).'";
        var disqus_identifier = "'.$disqus_shortname.'-'.$post->ID.'";
        </script>';
    }   
    ?>
    

참고자료