comments_template [ WordPress Function ]
| Parameters: |
|
| Uses: |
|
| Returns: |
|
| Defined at: |
|
Loads 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.
Source
<?php
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.
*
* @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');
}
?>
Examples [ wp-snippets.com ]
Google Arama Sonuçlarý
- Function Reference/comments template « WordPress Codex
<?php comments_template( $file, $separate_comments ); ?> ... and call it as follows: <?php comments_template( '/short-comments.php' ); ?> ...
codex.wordpress.org - Include Tags « WordPress Codex
The Comments Template. <?php comments_template(); ?> This tag includes the file comments.php from your current theme's directory. If that file is not found, ...
codex.wordpress.org - WordPress › Support » comments_template();
Is there away of getting the comments_template(); function to only show when ... When I do $page['comments'] = comments_template(); it still shows the ...
wordpress.org - comments_template Wordpress hook details -- Adam Brown, BYU ...
WordPress hook directory comments_template. WordPress version history for comments_template. This database has information for all major versions from WP ...
adambrown.info
Kullanýcý Tartýþmalarý [ wordpress.org ]
- Marventus on "Trouble with comments_template() on single"
- intellivision on "Trouble with comments_template() on single"
- Marventus on "Trouble with comments_template() on single"
- Marventus on "Trouble with comments_template() on single"
- intellivision on "Trouble with comments_template() on single"
- esmi on "Missing Footer and everything else below comments"
- kmarshall on "Missing Footer and everything else below comments"
- esmi on "Missing Footer and everything else below comments"
- kmarshall on "Missing Footer and everything else below comments"
- KouiK on "Comments Template and AJAX"