Вывод полных записей
-
Ув. форумчане, выручайте пожалуйста, с WP работаю буквально пару дней — строго не судите. Нужно сделать вывод записей (половинка записи и ссылка читать далее) Я так понимаю нужно, что-то :), написать в файле function.php и в файле там где хочу отобразить. Все выводится только как ссылки. Как организовать можно? Вообщем то что написано у меня в function.php :
/** Последние записи ------------------------------------------------------ $post_num (5) = количество ссылок $format ('') = {avatar} {author}: {date:j.M.Y} - {a}{title}{/a} ({comments}) $cat ('') = Категории из которых нужно выводить (5,15) или которые нужно исключить (-5,-15), через запятую (одновременно включение и исключение не работает (не имеет смысла) ) $list_tag (li) = Тег списка */ function recent_posts ($post_num=5, $format='', $cat='', $list_tag='li', $echo=true){ global $post, $wpdb; $cur_postID = $post->ID; if ($cat){ $JOIN = "LEFT JOIN $wpdb->term_relationships rel ON ( p.ID = rel.object_id ) LEFT JOIN $wpdb->term_taxonomy tax ON ( tax.term_taxonomy_id = rel.term_taxonomy_id ) "; $DISTINCT = "DISTINCT"; $AND_taxonomy = "AND tax.taxonomy = 'category'"; $AND_category = "AND tax.term_id IN ($cat)"; //Проверка на исключение категорий if( strpos($cat, '-')!==false ) $AND_category = 'AND tax.term_id NOT IN ('. str_replace( '-','', $cat ) .')'; } //если нужно показать автора if( strpos($format, '{author}')!==false ){ $JOIN .= " LEFT JOIN $wpdb->users u ON ( p.post_author = u.ID )"; $SEL = ", u.user_nicename AS author, u.user_email, u.user_url"; //если нужно показать аватар (gavatar) if( strpos($format, '{avatar}')!==false ) $av = "<img src='http://www.gravatar.com/avatar/%1\$s?s=25' alt='' />"; } $sql = "SELECT $DISTINCT p.ID, post_title, post_date, comment_count, guid $SEL FROM $wpdb->posts p $JOIN WHERE post_type = 'post' AND post_status = 'publish' $AND_category $AND_taxonomy ORDER BY post_date DESC LIMIT $post_num"; $results = $wpdb->get_results($sql); if (!$results) return false; preg_match ('@\{date:(.*?)\}@', $format, $date_m); foreach ($results as $pst){ $x == 'li1' ? $x = 'li2' : $x = 'li1'; if ( (int)$pst->ID == (int)$cur_postID ) $x .= " current-item"; $Title = $pst->post_title; $a = "<a href='". get_permalink($pst->ID) ."' title='{$Title}'>"; if ($format){ $avatar = $av ? sprintf( $av, md5($pst->user_email) ) : ''; $date = apply_filters('the_time', mysql2date($date_m[1], $pst->post_date)); $Sformat = str_replace ($date_m[0], $date, $format); $Sformat = str_replace( array('{title}', '{a}', '{/a}', '{author}', '{comments}', '{avatar}'), array( $Title, $a, '</a>', $pst->author, $pst->comment_count, $avatar ), $Sformat ); } else $Sformat = "$a$Title</a>"; $out .= "\n<$list_tag class='$x'>{$Sformat}</$list_tag>"; } if ($echo) return print $out; return $out; }
И там где вывожу:`<h2>Последние записи</h2>
<ul>
<?php get_archives(‘postbypost’, 6); ?></ul>`
Просмотр 5 ответов — с 1 по 5 (всего 5)
Просмотр 5 ответов — с 1 по 5 (всего 5)
- Тема «Вывод полных записей» закрыта для новых ответов.