Форум по WordPress

Вопросы и ответы по WordPress

Вы не зашли.

#101 25-09-2009 11:29:17

sonika
Клуб WordPress
Откуда: Сочи
Зарегистрирован: 28-07-2006
Сообщений: 3836
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

kapitoshka написал:

Можно ли сделать так, чтобы на странице выводились все записи определённой категории, но не одним листом, а с нижней навигацией (например, "Предыдущие 10 записей")? То есть разбить простыню на несколько приемлемых по длине страничек.

ну и смысл какой?
записи определённой категории ... с нижней навигацией — это собственно страничка этой определенной рубрики.


Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

Неактивен

 

#102 25-09-2009 12:00:17

kapitoshka
Новенький
Зарегистрирован: 24-09-2009
Сообщений: 4

Re: Вывод записей определенной рубрики в любом месте

sonika написал:

ну и смысл какой?

Объясню: смысл в том, что я не хочу, чтобы все рубрики сайта были в одном блоке. Во-первых - не эстетично, Во-вторых - страдает юзабилити (именно в моём случае).
Например, сайт про слонов и их наездников. И лучше ведь такой вид навигации:

Код:

СЛОНЫ
- всё о слонах
- чем питаются слоны
- сколько могут выпить пива

НАЕЗДНИКИ
- всё о наездниках
- чем питаются наездники
- могут ли перепить слонов

чем вот такая кашица:

Код:

СЛОНЫ И НАЕЗДНИКИ
- всё о слонах
- чем питаются слоны
- сколько могут выпить пива
- всё о наездниках
- чем питаются наездники
- могут ли перепить слонов

Поэтому я хочу каждую рубрику вывести на определённую страничку и красиво вписать их в навигацию сайта. Но возникла проблема - на страничке-рубрике выводятся все записи, получается простыня. Хотелось бы это поправить. Проблема всё-таки.

Я в php не силён. Если решение этой проблемы требует много времени и усилий, то прошу простить мою не преднамеренную наглость. smile

Неактивен

 

#103 30-09-2009 11:59:43

kapitoshka
Новенький
Зарегистрирован: 24-09-2009
Сообщений: 4

Re: Вывод записей определенной рубрики в любом месте

Я не то, чтобы настаивал. smile Но если кто-нибудь может сказать что-нибудь дельное по моему вопросу, буду признателен.

Неактивен

 

#104 30-09-2009 13:39:40

sonika
Клуб WordPress
Откуда: Сочи
Зарегистрирован: 28-07-2006
Сообщений: 3836
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

в чем именно сложность? на странице рубрики выводятся посты этой рубрики (СЛОНЫ), а посты рубрики НАЕЗДНИКИ выводятся на своей странице.
если вы хотите на главной странице выводить каждую рубрику в своем "блоке", то повторите код с get_posts [в php-шаблоне отвечающем за вывод главной страницы] столько раз, сколько у вас рубрик. или на главную можно вывести Статическую Страницу, или все что угодно, как фантазия или техзадание подскажет...

про php-шаблоны у меня в подписи ссылка


Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

Неактивен

 

#105 30-09-2009 23:05:57

kapitoshka
Новенький
Зарегистрирован: 24-09-2009
Сообщений: 4

Re: Вывод записей определенной рубрики в любом месте

Спасибо за наводки, Sonika, буду посмотреть. smile

Неактивен

 

#106 04-02-2010 15:02:37

kisa372
Новенький
Зарегистрирован: 04-02-2010
Сообщений: 1

Re: Вывод записей определенной рубрики в любом месте

Здравствуйте!
Подскажите, пожалуйста, каким образом можно сделать, чтобы на одной странице выводились сообщения из одной категории, при этом чтобы сообщения выводились полностью. Т. е. чтобы пост не обрезался, содержал изображения и ссылки, которые в нем были.
Я сделала страницу и проделала описанные выше действия:

Ниже идет сначала функция, потом вывод. Эту функцию можно запихнуть в
файл 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>&raquo;</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;
?>

Сообщения выводятся, но без линков и без картинок.

Заранее спасибо!!!

Неактивен

 

#107 05-02-2010 08:59:45

Александр-HIMиk
Начальник отдела
Откуда: Абакан
Зарегистрирован: 05-01-2008
Сообщений: 356
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

по-моему вы немного не в ту сторону ушли: разве через луп и запрос на вывод постов данная задача не решается?


[..только человечество от нечего делать может сделать всё..]

Неактивен

 

#108 21-02-2010 06:53:34

allodessa.com
Новенький
Зарегистрирован: 21-02-2010
Сообщений: 1

Re: Вывод записей определенной рубрики в любом месте

Всем привет у меня сайт allodessa.com
Я не могу понять куда вставляются все эти коды?

У меня задача простая:
Есть старницы:
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные

и есть рубрики
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные

Как мне правильно сделать что-бы все записи рубрик выходили на соответсвующих страницах, и при это не дублировались на главной?
Спасибо Большое.

Неактивен

 

#109 01-03-2010 07:20:58

I0AN
Новенький
Зарегистрирован: 04-07-2008
Сообщений: 16

Re: Вывод записей определенной рубрики в любом месте

Добрый день. Сделал все как тут написано, до сегодняшнего дня делал так и раньше, вроде разобрался, вроде все равботало. Но тут столкнулся с проблемой. Включил ЧПУ, блок все равно выводится, но теперь заголовки ведут не на запись, а на урл вида: http://site.ru/$post_title
В настройках ЧПУ поставил галочку на "произвольная структура" и написал $post_title, пробовал писать и просто title и post_title и $post_title$, меняется только окначание урла, но ссылка все равно никуда не ведет.

Возможно я просто не правильно пишу произвольную структуру? Или такой вывод не работает с включенными ЧПУ?
Заранее спасибо, Ян.

_______________________
Разобрался, необходимо в произвольной структуре написать /%category%/%postname% или просто %postname%

Отредактированно I0AN (01-03-2010 07:40:42)

Неактивен

 

#110 01-03-2010 07:25:10

I0AN
Новенький
Зарегистрирован: 04-07-2008
Сообщений: 16

Re: Вывод записей определенной рубрики в любом месте

allodessa.com написал:

Всем привет у меня сайт allodessa.com
Я не могу понять куда вставляются все эти коды?

У меня задача простая:
Есть старницы:
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные

и есть рубрики
Новости
Однокомнатные
Двухкомнатные
Трёхкомнатные

Как мне правильно сделать что-бы все записи рубрик выходили на соответсвующих страницах, и при это не дублировались на главной?
Спасибо Большое.

Что-то Ваша задача не совсем понятна. Зачем Вы делали страницы как рубрики? Выведете в меню просто рубрики, а на главной поставте статический текст (Настройки-Чтение).
Если же нет и надо именно как написали, то опять таки Настройки-Чтение, помещаете на главную статический текст. Затем открываете нужную страницу в режиме HTML  и прописываете код из темы, вставляете номер нужной категории и нужное колличество постов.

Неактивен

 

#111 08-03-2010 08:38:27

Krasdee
Новенький
Зарегистрирован: 08-03-2010
Сообщений: 1

Re: Вывод записей определенной рубрики в любом месте

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. Всю тему прочитал, как применить к комментам непонял, возможно что то пропустил.

Неактивен

 

#112 23-03-2010 12:35:45

baldwin
Новенький
Откуда: Санкт-Петербург
Зарегистрирован: 23-03-2010
Сообщений: 2
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

Подскажите пожалуйста как вывести список записей (в виде меню) текущей рубрики?
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 - вот куда надо добавить
Спасибо)

Неактивен

 

#113 26-03-2010 12:03:28

baldwin
Новенький
Откуда: Санкт-Петербург
Зарегистрирован: 23-03-2010
Сообщений: 2
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

Решено. Спасибо 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>

Неактивен

 

#114 03-04-2010 08:54:08

cantsave
Новенький
Зарегистрирован: 03-04-2010
Сообщений: 2

Re: Вывод записей определенной рубрики в любом месте

Добрый день! Я хочу чтобы сразу после захода на сайт отображалались два столбца поста: 1 категория - новости, а 2 категория - объявления. В этих категориях должны выводится только название новостей и объявлений.


  Новости                                                Объявления
   1.Ввввввввввввввввввввв                    1.Ввввввввввввввввввввв
   2.Ввввввввввввввввввввв                    2.Ввввввввввввввввввввв
   3.Ввввввввввввввввввввв                    3.Ввввввввввввввввввввв
   4.Ввввввввввввввввввввв                    4.Ввввввввввввввввввввв
   5.Ввввввввввввввввввввв                    5.Ввввввввввввввввввввв
                          весь список...                                            весь список...

Типа такого. Когда нажимаешь на название новости переходит на полный вариант отображения. Заранее Спасибо!

Неактивен

 

#115 04-04-2010 04:54:33

cantsave
Новенький
Зарегистрирован: 03-04-2010
Сообщений: 2

Re: Вывод записей определенной рубрики в любом месте

Вопрос решен!

Неактивен

 

#116 04-09-2010 21:06:00

Age
Новенький
Зарегистрирован: 04-09-2010
Сообщений: 1

Re: Вывод записей определенной рубрики в любом месте

Использую код

Код:

                $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;

Все прекрасно! Но как сделать так, чтобы ссылки на картинке были на запись, а не на саму картинку?

Неактивен

 

#117 08-09-2010 16:38:33

auditor
Младший специалист
Откуда: г.Харьков
Зарегистрирован: 16-10-2008
Сообщений: 168
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

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)

Неактивен

 

#118 08-09-2010 17:18:04

Ю.Б.
Клуб WordPress
Откуда: Харьков
Зарегистрирован: 05-08-2007
Сообщений: 6624
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

Вы используете в цикле функцию the_excerpt(); которая ничего не знает о Ваших маневрах с $post_new. Она выводит "огрызок" поста, который получен в Основном Цикле (the Loop который).


Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?

Неактивен

 

#119 08-09-2010 18:43:05

auditor
Младший специалист
Откуда: г.Харьков
Зарегистрирован: 16-10-2008
Сообщений: 168
Вебсайт

Re: Вывод записей определенной рубрики в любом месте

Ю.Б. написал:

Вы используете в цикле функцию the_excerpt(); которая ничего не знает о Ваших маневрах с $post_new. Она выводит "огрызок" поста, который получен в Основном Цикле (the Loop который).

Спасибо за ответ, но мало что понятно. В изучении всех этих хитростей я так далеко ещё не зашел (а может не ту литературу читаю...). Заменил excerpt на content, а воз и ныне там...

Неактивен

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Украина онлайн