Модератор
Юрій
(@yube)
Ерундовая процедура. В шаблоне главной сначала получаем комментарии вызовом функции get_comments() (подробности в Документации) и выводим их. Затем получаем записи, скажем, функцией get_posts() и выводим их во второй части шаблона. С оформлением возни гораздо больше, чем с ворпрессозависимой частью задачи.
Автор
1kz
(@1kz)
Спасибо! А можно поточнее? Оч плохо соображаю еще с вызовами функций
Модератор
Юрій
(@yube)
А можно поточнее?
В смысле? дать готовый код?
Автор
1kz
(@1kz)
нет хочу разобраться. искал пример. нашел вот что
function recent_comments($limit=10, $ex=45, $cat=0, $echo=1, $gravatar=''){
global $wpdb;
if($cat){
$IN = (strpos($cat,'-')===false)?"IN ($cat)":"NOT IN (".str_replace('-','',$cat).")";
$join = "LEFT JOIN $wpdb->term_relationships rel ON (p.ID = rel.object_id)
LEFT JOIN $wpdb->term_taxonomy tax ON (rel.term_taxonomy_id = tax.term_taxonomy_id)";
$and = "AND tax.taxonomy = 'category'
AND tax.term_id $IN";
}
$sql = "SELECT comment_ID, comment_post_ID, comment_content, post_title, guid, comment_author, comment_author_email
FROM $wpdb->comments com
LEFT JOIN $wpdb->posts p ON (com.comment_post_ID = p.ID) {$join}
WHERE comment_approved = '1'
AND comment_type = '' {$and}
ORDER BY comment_date DESC
LIMIT $limit";
$results = $wpdb->get_results($sql);
$out = '';
foreach ($results as $comment){
if($gravatar)
$grava = '<img src="http://www.gravatar.com/avatar/'. md5($comment->comment_author_email) .'?s=$gravatar&default=" alt="" width="'. $gravatar .'" height="'. $gravatar.'" />';
$comtext = strip_tags($comment->comment_content);
$leight = (int) iconv_strlen( $comtext, 'utf-8' );
if($leight > $ex) $comtext = iconv_substr($comtext,0,$ex, 'UTF-8').' …';
$out .= "\n<li>$grava<b>".strip_tags($comment->comment_author). ": </b><a href='". get_comment_link($comment->comment_ID) ."' title='к записи: {$comment->post_title}'>{$comtext}</a></li>";
}
if ($echo) echo $out;
else return $out;
}
после сую
<ul>
<?php recent_comments(10, 40); ?>
</ul>
в home.php для вывода в нужное место.
Но! проблема в том, что размещая первый код в function.php появляется error.
Модератор
Юрій
(@yube)
Но! проблема в том, что размещая первый код в function.php появляется error.
Видимо, неправильно размещаете. Скорее всего, портите синтаксис php.
Код рабочий, я проверил. Насколько он правильный — это уже другой вопрос, меня совсем не интересующий.
Автор
1kz
(@1kz)
Да действительно. нарушал синтаксис. теперь все работает. У меня стоит WPDiscuz и подключен uLogin (авторизация ч/з соц сетей). неподскажите как вывести аватары?