Вопросы и ответы по WordPress
Вы не зашли.
kapitoshka написал:
Можно ли сделать так, чтобы на странице выводились все записи определённой категории, но не одним листом, а с нижней навигацией (например, "Предыдущие 10 записей")? То есть разбить простыню на несколько приемлемых по длине страничек.
ну и смысл какой?
записи определённой категории ... с нижней навигацией — это собственно страничка этой определенной рубрики.
Неактивен
sonika написал:
ну и смысл какой?
Объясню: смысл в том, что я не хочу, чтобы все рубрики сайта были в одном блоке. Во-первых - не эстетично, Во-вторых - страдает юзабилити (именно в моём случае).
Например, сайт про слонов и их наездников. И лучше ведь такой вид навигации:
СЛОНЫ - всё о слонах - чем питаются слоны - сколько могут выпить пива НАЕЗДНИКИ - всё о наездниках - чем питаются наездники - могут ли перепить слонов
чем вот такая кашица:
СЛОНЫ И НАЕЗДНИКИ - всё о слонах - чем питаются слоны - сколько могут выпить пива - всё о наездниках - чем питаются наездники - могут ли перепить слонов
Поэтому я хочу каждую рубрику вывести на определённую страничку и красиво вписать их в навигацию сайта. Но возникла проблема - на страничке-рубрике выводятся все записи, получается простыня. Хотелось бы это поправить. Проблема всё-таки.
Я в php не силён. Если решение этой проблемы требует много времени и усилий, то прошу простить мою не преднамеренную наглость. ![]()
Неактивен
Я не то, чтобы настаивал.
Но если кто-нибудь может сказать что-нибудь дельное по моему вопросу, буду признателен.
Неактивен
в чем именно сложность? на странице рубрики выводятся посты этой рубрики (СЛОНЫ), а посты рубрики НАЕЗДНИКИ выводятся на своей странице.
если вы хотите на главной странице выводить каждую рубрику в своем "блоке", то повторите код с get_posts [в php-шаблоне отвечающем за вывод главной страницы] столько раз, сколько у вас рубрик. или на главную можно вывести Статическую Страницу, или все что угодно, как фантазия или техзадание подскажет...
про php-шаблоны у меня в подписи ссылка
Неактивен
Спасибо за наводки, Sonika, буду посмотреть. ![]()
Неактивен
Здравствуйте!
Подскажите, пожалуйста, каким образом можно сделать, чтобы на одной странице выводились сообщения из одной категории, при этом чтобы сообщения выводились полностью. Т. е. чтобы пост не обрезался, содержал изображения и ссылки, которые в нем были.
Я сделала страницу и проделала описанные выше действия:
Ниже идет сначала функция, потом вывод. Эту функцию можно запихнуть в
файл functions.php в папке wp-includes:
Код:
<?php
function announce($text, $announce_length = 120)
{
$text = trim(strip_tags($text, '<br>'));
if (!$text) return;
$a = preg_split('/ +/', $text, -1, PREG_SPLIT_OFFSET_CAPTURE);
$ret = '';
foreach ($a as $val)
{
if ($val[1] + strlen($val[0]) >= $announce_length) break;
$ret .= (' '.$val[0]);
}
return $ret.(strlen($ret)<strlen($text)?'...<b>»</b>':'');
}
$posts = get_posts('category=7&numberposts=100');
foreach ($posts as $post):
echo '<li><a href="';
echo get_permalink($post->ID);
echo '">';
echo $post->post_title;
echo '</a></li>';
echo '<p>';
echo announce($post->post_content, 100000000);
echo '</p>';
endforeach;
?>
Сообщения выводятся, но без линков и без картинок.
Заранее спасибо!!!
Неактивен
по-моему вы немного не в ту сторону ушли: разве через луп и запрос на вывод постов данная задача не решается?
Неактивен
Всем привет у меня сайт allodessa.com
Я не могу понять куда вставляются все эти коды?
У меня задача простая:
Есть старницы:
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные
и есть рубрики
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные
Как мне правильно сделать что-бы все записи рубрик выходили на соответсвующих страницах, и при это не дублировались на главной?
Спасибо Большое.
Неактивен
Добрый день. Сделал все как тут написано, до сегодняшнего дня делал так и раньше, вроде разобрался, вроде все равботало. Но тут столкнулся с проблемой. Включил ЧПУ, блок все равно выводится, но теперь заголовки ведут не на запись, а на урл вида: http://site.ru/$post_title
В настройках ЧПУ поставил галочку на "произвольная структура" и написал $post_title, пробовал писать и просто title и post_title и $post_title$, меняется только окначание урла, но ссылка все равно никуда не ведет.
Возможно я просто не правильно пишу произвольную структуру? Или такой вывод не работает с включенными ЧПУ?
Заранее спасибо, Ян.
_______________________
Разобрался, необходимо в произвольной структуре написать /%category%/%postname% или просто %postname%
Отредактированно I0AN (01-03-2010 07:40:42)
Неактивен
allodessa.com написал:
Всем привет у меня сайт allodessa.com
Я не могу понять куда вставляются все эти коды?
У меня задача простая:
Есть старницы:
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные
и есть рубрики
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные
Как мне правильно сделать что-бы все записи рубрик выходили на соответсвующих страницах, и при это не дублировались на главной?
Спасибо Большое.
Что-то Ваша задача не совсем понятна. Зачем Вы делали страницы как рубрики? Выведете в меню просто рубрики, а на главной поставте статический текст (Настройки-Чтение).
Если же нет и надо именно как написали, то опять таки Настройки-Чтение, помещаете на главную статический текст. Затем открываете нужную страницу в режиме HTML и прописываете код из темы, вставляете номер нужной категории и нужное колличество постов.
Неактивен
MAX написал:
Иногда нужно вывести записи вне основного цикла theeLoop. Обычно это делается с помощью query_posts. Проблема в том, что WordPress использует глобальные переменные, и после использования этой функции, условия query_posts станут глобальными.
Чтобы этого избежать, нужно использовать функцию get_posts. Например, мы хотим вывести в сайдбаре список последних записей в рубрике новости (id=1):Код:
<h2 class="pages_search">Новости</h2> <ul class="is_kat"> <?php $posts_new = get_posts('category=1&numberposts=3'); foreach ($posts_new as $post_new) : echo '<li class="news_item"><a href="'; echo get_permalink($post_new->ID); echo '">'; echo mysql2date('j.m.Y', $post_new->post_date); echo ' - '; echo $post_new->post_title; echo '</a></li>'; endforeach; ?> </ul>То есть мы получаем все записи с нужным нам условием get_posts('category=1&numberposts=3') в объект $posts_new. Далее, мы просто обходим его в цикле и выводим нужные нам записи.
Здравствуйте! Подскажите плиз как можно на примере вашего кода сделать вывод последних комментериев. Сам не осилил разобраться.
p.s. Всю тему прочитал, как применить к комментам непонял, возможно что то пропустил.
Неактивен
Подскажите пожалуйста как вывести список записей (в виде меню) текущей рубрики?
1. Сделал отдельный шаблон, установил Use parent category template (http://blog.portal.kharkov.ua/2008/07/1 … _template/) для вывода родительской, дочерних рубрик и их постов.
2. Создал sidebar-2.php где отображается навигация вперед назад, title поста. Все работает
Но! Как добавить вывод Списка всех постов Текущей рубрики?
http://vitaliksedov.ru/maneg/page/2 - вот куда надо добавить
Спасибо)
Неактивен
Решено. Спасибо Sonika!
Кому надо (http://mywordpress.ru/support/viewtopic.php?id=14977):
<?php $mycat=get_the_category(); $mycat=$mycat[0]; ?>
<?php $postslist = get_posts('numberposts=-1&orderby=title&order=ASC&category='.$mycat->cat_ID); ?>
<p>По алфавиту:</p>
<ul>
<?php foreach ($postslist as $post) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
<?php endforeach; ?>
</ul>
Неактивен
Добрый день! Я хочу чтобы сразу после захода на сайт отображалались два столбца поста: 1 категория - новости, а 2 категория - объявления. В этих категориях должны выводится только название новостей и объявлений.
Новости Объявления
1.Ввввввввввввввввввввв 1.Ввввввввввввввввввввв
2.Ввввввввввввввввввввв 2.Ввввввввввввввввввввв
3.Ввввввввввввввввввввв 3.Ввввввввввввввввввввв
4.Ввввввввввввввввввввв 4.Ввввввввввввввввввввв
5.Ввввввввввввввввввввв 5.Ввввввввввввввввввввв
весь список... весь список...
Типа такого. Когда нажимаешь на название новости переходит на полный вариант отображения. Заранее Спасибо!
Неактивен
Вопрос решен!
Неактивен
Использую код
$posts_new = get_posts('category=1&numberposts=3');
foreach ($posts_new as $post_new) :
echo '<li><h3><a href="';
echo get_permalink($post_new->ID);
echo '">';
echo $post_new->post_title;
echo '</a></h3></li>';
echo '<div id="main-test" class="test-main">';
if ( preg_match('/<!--more(.*?)?-->/', $post_new->post_content, $matches) )
list($post_new->post_content,$junk) = explode($matches[0], $post_new->post_content, 2);
echo $post_new->post_content;
echo '</div>';
endforeach;Все прекрасно! Но как сделать так, чтобы ссылки на картинке были на запись, а не на саму картинку?
Неактивен
Swordman написал:
Кто-то тут спрашивал как сделать "читать далее" если есть more
Я покурил этот топик и написал такое:Код:
<?php $posts_new = get_posts('category=1&numberposts=1'); foreach ($posts_new as $post_new) : echo '<div class="post_content">'; echo '<h2>'; echo $post_new->post_title; echo '</h2>'; if ( preg_match('/<!--more(.*?)?-->/', $post_new->post_content, $matches) ){ list($post_new->post_content,$junk) = explode($matches[0], $post_new->post_content, 2); echo $post_new->post_content; echo '<br/><a href="'; echo get_permalink($post_new->ID); echo '">'; echo 'Читать далее...'; echo '</a>'; echo '</div>'; } else { echo $post_new->post_content; echo '</div>'; } endforeach; ?>Не знаю насколько коряво - не могу оценить, но работает.
Спасибо Ю.Б. за подсказки в теме.
А вот я "не вкурил"... Этот, например, вариант у меня не выводит надпись "Читать далее...", а посты выводятся в полный рост! До этого перепробовал ещё 5 вариантов, везде что-то да не так.
Мне нужно так: заголовок, дата, урезанный пост со ссылкой "Читать далее...", нужно чтоб выводилось 2 последних поста.
Писал такой код:
<?php
$posts_new = get_posts('category=&numberposts=2');
foreach ($posts_new as $post_new) :
echo '<h2><a href="';
echo get_permalink($post_new->ID);
echo '">';
echo $post_new->post_title;
echo '</a></h2>';
echo mysql2date('j.m.Y', $post_new->post_date);
echo '<div>';
echo '<p>';
echo the_excerpt();
echo '</p>';
echo '</div>';
endforeach;
?>При этом варианте всё устраивает, да только текст почему-то одинаковый, что в первом посте, что во-втором. При этом заголовки и время написания постов соответствует действительности. Чудеса да и только!
Ещё такой вопросик: как для этих записей присваивать классы, например, только для строки с датой?
---------------------------------------------
Чтобы было понятно: вот, то что выводит:
"Дизайн интерьера
14.08.2010
Добро пожаловать в WordPress. Это ваша первая запись. Отредактируйте или удалите её, затем пишите!
Альбомы
11.08.2010
Добро пожаловать в WordPress. Это ваша первая запись. Отредактируйте или удалите её, затем пишите!"
У поста "Дизайн интерьера" и у поста "Альбомы" тексты другие, а выводится текст сами знаете откуда, с первого поста, который идет по умолчанию.
Отредактированно auditor (08-09-2010 16:47:21)
Неактивен
Вы используете в цикле функцию the_excerpt(); которая ничего не знает о Ваших маневрах с $post_new. Она выводит "огрызок" поста, который получен в Основном Цикле (the Loop который).
Неактивен
Ю.Б. написал:
Вы используете в цикле функцию the_excerpt(); которая ничего не знает о Ваших маневрах с $post_new. Она выводит "огрызок" поста, который получен в Основном Цикле (the Loop который).
Спасибо за ответ, но мало что понятно. В изучении всех этих хитростей я так далеко ещё не зашел (а может не ту литературу читаю...). Заменил excerpt на content, а воз и ныне там...
Неактивен