Php WordPress:试图在主页上显示评论的问题

Php WordPress:试图在主页上显示评论的问题,php,wordpress,indexing,comments,Php,Wordpress,Indexing,Comments,我试图让评论出现在主页上,但我遇到了问题 $withcomments = 1; comments_template(); 我已将上面的PHP代码放在index.PHP文件中。此时会出现注释框,但由于某些原因,注释不会出现。显然,这段代码是为了让注释和注释框都出现,所以我有点困惑为什么注释没有出现。有人有任何解决方案吗?Wordpress如果不在单个帖子或页面上,则不会显示评论模板。 如果你想展示,那么你必须创建满足你需求的定制功能 当前函数位于wp includes>>comment-temp

我试图让评论出现在主页上,但我遇到了问题

$withcomments = 1;
comments_template();

我已将上面的PHP代码放在index.PHP文件中。此时会出现注释框,但由于某些原因,注释不会出现。显然,这段代码是为了让注释和注释框都出现,所以我有点困惑为什么注释没有出现。有人有任何解决方案吗?

Wordpress如果不在单个帖子或页面上,则不会显示评论模板。 如果你想展示,那么你必须创建满足你需求的定制功能

当前函数位于wp includes>>comment-template.php文件第851行

下面是显示注释列表的自定义函数,将其放在functions.php主题文件中:

        function custom_comments_template( $file = '/comments.php', $separate_comments = false ) {
            global $wp_query, $withcomments, $post, $wpdb, $id, $comment, $user_login, $user_ID, $user_identity, $overridden_cpage;


            if ( empty($file) )
                $file = '/comments.php';

            $req = get_option('require_name_email');

            /**
             * Comment author information fetched from the comment cookies.
             *
             * @uses wp_get_current_commenter()
             */
            $commenter = wp_get_current_commenter();

            /**
             * The name of the current comment author escaped for use in attributes.
             */
            $comment_author = $commenter['comment_author']; // Escaped by sanitize_comment_cookies()

            /**
             * The email address of the current comment author escaped for use in attributes.
             */
            $comment_author_email = $commenter['comment_author_email'];  // Escaped by sanitize_comment_cookies()

            /**
             * The url of the current comment author escaped for use in attributes.
             */
            $comment_author_url = esc_url($commenter['comment_author_url']);

            /** @todo Use API instead of SELECTs. */
            if ( $user_ID) {
                $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )  ORDER BY comment_date_gmt", $post->ID, $user_ID));
            } else if ( empty($comment_author) ) {
                $comments = get_comments( array('post_id' => $post->ID, 'status' => 'approve', 'order' => 'ASC') );
            } else {
                $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt", $post->ID, wp_specialchars_decode($comment_author,ENT_QUOTES), $comment_author_email));
            }

            // keep $comments for legacy's sake
            $wp_query->comments = apply_filters( 'comments_array', $comments, $post->ID );
            $comments = &$wp_query->comments;
            $wp_query->comment_count = count($wp_query->comments);
            update_comment_cache($wp_query->comments);

            if ( $separate_comments ) {
                $wp_query->comments_by_type = &separate_comments($comments);
                $comments_by_type = &$wp_query->comments_by_type;
            }

            $overridden_cpage = false;
            if ( '' == get_query_var('cpage') && get_option('page_comments') ) {
                set_query_var( 'cpage', 'newest' == get_option('default_comments_page') ? get_comment_pages_count() : 1 );
                $overridden_cpage = true;
            }

            if ( !defined('COMMENTS_TEMPLATE') || !COMMENTS_TEMPLATE)
                define('COMMENTS_TEMPLATE', true);

            $include = apply_filters('comments_template', STYLESHEETPATH . $file );
            if ( file_exists( $include ) )
                require( $include );
            elseif ( file_exists( TEMPLATEPATH . $file ) )
                require( TEMPLATEPATH . $file );
            else // Backward compat code will be removed in a future release
                require( ABSPATH . WPINC . '/theme-compat/comments.php');
        }
现在,您可以在模板中使用此功能:

       <?php custom_comments_template( '', true ); ?> 


希望这条线对你有帮助。祝你一切顺利;)

您可以尝试使用函数
wp\u list\u comments()

<ol class="commentlist">
<?php wp_list_comments(); ?>
</ol>


食品法典中的更多信息:

您应该将techguy4web的答案标记为已接受,否则可能重复。