comments_template
apply_filters( ‘comments_template’, string $theme_templ…
apply_filters( ‘comments_template’, string $theme_template )
过滤器::过滤用于注释模板的主题模板文件的路径。
Filter Hook: Filters the path to the theme template file used for the comments template.
目录锚点:#参数#源码
参数(Parameters)
参数 | 类型 | 说明 |
---|---|---|
$theme_template | (string) | 主题模板文件的路径。 |
源码(Source)
/** * Load the comment template specified in $file. * * Will not display the comments template if not on single post or page, or if * the post does not have comments. * * Uses the WordPress database object to query for the comments. The comments * are passed through the 'comments_array' filter hook with the list of comments * and the post ID respectively. * * The $file path is passed through a filter hook called, 'comments_template' * which includes the TEMPLATEPATH and $file combined. Tries the $filtered path * first and if it fails it will require the default comment template from the * default theme. If either does not exist, then the WordPress process will be * halted. It is advised for that reason, that the default theme is not deleted. * * @uses $withcomments Will not try to get the comments if the post has none. * * @since 1.5.0 * * @global WP_Query $wp_query * @global WP_Post $post * @global wpdb $wpdb * @global int $id * @global object $comment * @global string $user_login * @global int $user_ID * @global string $user_identity * @global bool $overridden_cpage * * @param string $file Optional. The file to load. Default '/comments.php'. * @param bool $separate_comments Optional. Whether to separate the comments by comment type. * Default false. */ function 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 ( !(is_single() || is_page() || $withcomments) || empty($post) ) return; if ( empty($file) ) $file = '/comments.php'; $req = get_option('require_name_email'); /* * Comment author information fetched from the comment cookies. */ $commenter = wp_get_current_commenter(); /* * The name of the current comment author escaped for use in attributes. * Escaped by sanitize_comment_cookies(). */ $comment_author = $commenter['comment_author']; /* * The email address of the current comment author escaped for use in attributes. * Escaped by sanitize_comment_cookies(). */ $comment_author_email = $commenter['comment_author_email']; /* * The url of the current comment author escaped for use in attributes. */ $comment_author_url = esc_url($commenter['comment_author_url']); $comment_args = array( 'order' => 'ASC', 'orderby' => 'comment_date_gmt', 'status' => 'approve', 'post_id' => $post->ID, ); if ( $user_ID ) { $comment_args['include_unapproved'] = array( $user_ID ); } elseif ( ! empty( $comment_author_email ) ) { $comment_args['include_unapproved'] = array( $comment_author_email ); } $comments = get_comments( $comment_args ); /** * Filter the comments array. * * @since 2.1.0 * * @param array $comments Array of comments supplied to the comments template. * @param int $post_ID Post ID. */ $wp_query->comments = apply_filters( 'comments_array', $comments, $post->ID ); $comments = &$wp_query->comments; $wp_query->comment_count = count($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') ) define('COMMENTS_TEMPLATE', true); $theme_template = STYLESHEETPATH . $file; /** * Filter the path to the theme template file used for the comments template. * * @since 1.5.1 * * @param string $theme_template The path to the theme template file. */ $include = apply_filters( 'comments_template', $theme_template ); 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'); }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
1.5.1 | wp-includes/comment-template.php:1525 | 1 | 0 |
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!