Спрашиваем и отвечаем по Wordpress-11

Arther
На сайте с 03.09.2009
Offline
91
#51

Как вывести последние 8 новостей из категории в которой находится новость ?

Сейчас стоит query_posts('showposts=8&orderby='.implode(',',$post_cats));

okwell
На сайте с 12.07.2012
Offline
81
#52

Arther,


$posts = get_posts( array(
'numberposts' => 8, // количество новостей
'category' => '', // категория
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post', // тип поста
) );
foreach($posts as $post){ setup_postdata($post);
// формат вывода
}
wp_reset_postdata();
GAMMA
На сайте с 27.12.2006
Offline
154
#53

Ищу решение следующей задачи - нужно на отдельных страницах выводить заголовки записей из определённых 2-х рубрик записей с сортировкой случайным образом.

К примеру на одной странице вывести в 1 колонке 10 заголовков из рубрики Зима во второй колонке 10 заголовков из рубрики Лето

На второй странице вывести 10 заголовков из рубрики Весна и 10 заголовков из рубрики Осень

И так далее (всего рубрик 68 соответственно страниц 34).

Соответственно при перезагрузке страницы порядок вывода заголовков меняется случайным образом.

Искал плагин который мог бы решить эту задачу, но ничего похожего не нашёл. Есть плагин Visual Composer который до сих пор использовали для этой цели, но в результате его работы для поисковиков страница получается пустой, в коде страницы заголовков нет и ссылок по которым можно пройти на записи то же нет, так как плагин выводит контент через джава скрипт.

Буду очень признателен за любую помощь в решении данной проблемы.

Мой сервис блогов (http://mublog.ru) и личный блог (http://blogroot.ru)
okwell
На сайте с 12.07.2012
Offline
81
#54

GAMMA, То же самое, что и выше, если я правильно понял


//первая колонка
$posts = get_posts( array(
'numberposts' => 10, // количество новостей
'category' => 'zima', // категория
'orderby' => 'rand', // случайная сортировка
'post_type' => 'post', // тип поста
) );
foreach($posts as $post){ setup_postdata($post);
the_title(); // выводит заголовок
// формат вывода при необходимости
}
wp_reset_postdata();

// вторая колонка
$posts = get_posts( array(
'numberposts' => 10, // количество новостей
'category' => 'leto', // категория
'orderby' => 'rand', // случайная сортировка
'post_type' => 'post', // тип поста
) );
foreach($posts as $post){ setup_postdata($post);
the_title(); // выводит заголовок
// формат вывода при необходимости
}
wp_reset_postdata();
SEOKinG
На сайте с 03.09.2008
Offline
169
#55

okwell, насколько я понял, дополнительно товарищу нужно GAMMA нужно выводить какой-то кастомный html код в нужном месте, а туда запхать макрос заголовка

---->Лучший курс обмена WMR ==> WMZ (http://goo.gl/w1yOz4), WMR, WMZ ==> гривны (http://goo.gl/XmyIKN)
GAMMA
На сайте с 27.12.2006
Offline
154
#56

HTML код вывода колонок я набросал, ранее была табличная вёрстка, я заменил на div-ы

Выглядит это так

<div id="ped">


<div id="un">
<p><h4>1 заголовок ссылка</h4></p>
<p><h4>2 заголовок ссылка</h4></p>
.......
<p><h4>10 заголовок ссылка</h4></p>
</div>
<div id="dou">
<p><h4>1 заголовок ссылка</h4></p>
<p><h4>2 заголовок ссылка</h4></p>
.......
<p><h4>10 заголовок ссылка</h4></p>
</div>

</div>

На месте где заголовок ссылка в странице должны выводиться заголовки записей (ссылки на записи) с выборкой из определённых рубрик. Для каждой страницы выборка из двух рубрик.

---------- Добавлено 08.10.2016 в 22:25 ----------

В принципе код который привёл okwell, должен сработать, через цикл выводится то что мне нужно, раз цикл то я могу оформить его вывод как мне нужно, только я не в курсе как php код вставить в страницу. Есть плагин для этого?

---------- Добавлено 08.10.2016 в 22:28 ----------

Exec-PHP - нашёл такой плагин но он вероятно уже устарел, для новой версии ВП не подойдёт.

SeVlad
На сайте с 03.11.2008
Offline
1609
#57
GAMMA:
Exec-PHP - нашёл такой плагин но он вероятно уже устарел, для новой версии ВП не подойдёт.

Никогда не вставляй исполняемый код (js в тч) в посты!

Для безопасных вставок используй шорткоды. Вначале создаёшь шоркод кода, а потому же шорткод вставляешь в пост. Для этого тоже есть плагины, если что. (этот вообще бомба на этапе разработки, но вот на продакшене я бы его не рекомендовал наверное. Но есть много других для создания именно шоркодов в админке)

Однако для твоего случая это костыль (да и вообще в большинстве случаев - костыль). PHP вставляй непосредственно в шаблоны темы. И про механизм дочек не забывай.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
GAMMA
На сайте с 27.12.2006
Offline
154
#58

SeVlad, Это всё понятно, но в данной ситуации нужен именно костыль, с безопасностью думаю проблем не будет так как посетители могут только читать записи, коменты и поиск отключены. Тут только если взломают базу...

Насчёт кода который дал okwell, не работает. Выводит title самой записи а не заголовки страниц.

SeVlad
На сайте с 03.11.2008
Offline
1609
#59
GAMMA:
но в данной ситуации нужен именно костыль, с безопасностью думаю проблем не будет так как посетители могут только читать записи,

Всё равно - в пост нужно вставлять шорткоды, а не исполняемый код.

GAMMA:
Насчёт кода который дал okwell, не работает.

Не "не работает", а "работает не так, как ожидается".

В контенте поста? Ну... Почитай про функцию. Вот на русском и с полезными комментами http://wp-kama.ru/function/get_posts.

А как вариант можно использовать какой-нить плаг вывода похожих (случайных) в виджете.

А другим плагом уже вставить виджеты в пост.

Но это решение родит нагрузку. Все же отдельный шаблон и код в него - самое оно.

GAMMA
На сайте с 27.12.2006
Offline
154
#60

В общем решил вопрос всё же через плагин и шорткод. Использовал плагин Posts in Page В шаблоне вывода плагина убрал всё лишнее, оставил только вывод заголовков с нужным мне оформлением, изменил дефолтную сортировку на random и получил что хотел. Спасибо всем кто ответил, независимо от того помогло мне это или нет.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий