комментарии темы
-
проблема с комментариями! — возможность «добавить комментарии» не показывается.. Как только меняю тему на любую другую- «добавить комментарии» появляются. Брал comments.php из рабочих тем и перезаливал в нерабочую — не помогло! В чем проблема?
-
может просто перезалить тему ?
wikicms, второй скрин с главной страницы или со страницы поста?
да..вижу! Перезалюю тему и обязательно отшишу результат.. Спасибо за помощь!
Andrey, single
а ему нужно на главной вывести форму комментов…
на главной
???? Тогда желаю удачи 🙂
)) ну, все не так сложно, как кажется… единственный вопрос — это насколько это безопасно?..
я сделал так:
1)function my_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 ( !($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’);
}вставляем это в functions.php темы
2) в index.php до строчки <?php endwhile; ?> вставляем<?php my_comments_template(); ?>
Нее, я думаю речь идет просто о ссылке под каждым постом — «Оставить комментарий». Сейчас обратил внимание, что их действительно нет на index. Надо ждать, что скажет вопрошающий 🙂
Если так, как я думаю, тогда надо открыть index.php, найти в нем
<div class="readmorecontent">
и сразу после вставить<span class="my-comments"><?php comments_popup_link( 'No comments yet', '1 comment', '% comments', 'comments-link', 'Comments are off for this post'); ?></span>
А в файл style.css добавить такую штуку в самом низу
.my-comments { padding: 0 10px 0 0; }
Увеличивая 10-ку отодвигаем влево текст. Ну подогнать под себя совсем труда не составит )
я бы конечно хотел просто ссылку «добавить комментарии» внизу главной страницы (т.е. после единственной записи) по нажатию которой открывается сам комментарий. Кроме того присутствут Виджет «Ваши отзывы» где присутсвую комметарии за все периоды. Собственно я понимаю что так и работает WordPress. Или это нетак ?
вот что значит не правильная формулировка проблемы с самого начала!.. или вернее не совсем понятная =)
сделал как ВЫ сказали! и действительно работает.. Только фразу «No comments yet» можно заменить на русский вариант ?.. было конечно хорошо если все комментарии попадали в виджет «ваши отзывы», но насколько я понял это немного иное..
прошу прощения если я некорректно выразился.. Делаю первые шаги в ВП.).. хотелось бы почитать более глубокую литературу но пока такой не нарыл..
Не знаю даже что ответить 🙂 А почему Вы не хотите этот пост просто обозвать — «Ваши Отзывы», тогда клиент поймет, что надо зайти и написать, что-нибудь :)) И никаких лишних движений делать не надо. А главная страница сайта по смыслу — это бес-с-конечная лента постов из всех категорий, сортируемая по дате…
- Тема «комментарии темы» закрыта для новых ответов.