Помощник
|
![]() |
![]() |
Сообщение
#1
|
||
![]() |
|
||
|
|||
![]() |
![]()
Сообщение
#2
|
![]() |
Здравствуйте. На сколько я понял, Вам нужно вывести текст на странице записи при условии, что эта запись входит в определённую рубрику?
Для этого в том месте, где должен быть текст вставляем php код: CODE <?php global $post; $cat_id = 5; $post_categories = wp_get_post_categories( $post->ID ); if(in_array($cat_id, $post_categories)){ ?> Тут нужный текст или html код <?php } ?> Сначало мы получаем список рубрик текущего поста, потом проверяем, есть ли в этом списке номер нужной рубрики. Если есть, то выводим текст. Будут вопросы по wordpress - обращайтесь. Сообщение отредактировал jokerov - 23.1.2015, 16:47 |
|
|
![]() |
![]()
Сообщение
#3
|
![]() |
$post глобалезировать незачем.
да и... Код $category = get_the_category($post->ID);
if ( $category->cat_ID == 5 ) { print 'Hello World!'; } -------------------- |
|
|
![]() |
Сообщение
#4
|
![]() |
Tollun, не работает...
Цитата <?php $category = get_the_category($post->ID); if ( $category->cat_ID = 5 ) { print 'Hello World!'; } ?> jokerov, код работает, но этот текст выводится ещё и на странице категории под каждой записью.... а мне нужно только на странице записи. -------------------- |
|
|
![]() |
![]()
Сообщение
#5
|
![]() |
Tollun, Функция get_the_category получает массив данных о всех категориях, к которым относится пост. В Вашем коде идёт обращение к массиву как к объёкту. Даже если обратиться к первому элементу массива, не факт что в нём будет нужная рубрика.
sen8, попробуйте тогда такой вариант. Тут добавил проверку is_single(), которая сработает если это страница записи. CODE <?php
$cat_id = 5; $post_categories = wp_get_post_categories( $post->ID ); if(in_array($cat_id, $post_categories) and is_single()){ ?> Тут нужный текст или html код <?php } ?> Сообщение отредактировал jokerov - 23.1.2015, 17:22 |
|
|
![]() |
Сообщение
#6
|
![]() |
jokerov, огромнейшая благодарность, работает! У меня остался последний вопрос: если категории 2 (например, 5 и 6), то как их прописать. Пробую через запятую - не работает.
-------------------- |
|
|
![]() |
![]()
Сообщение
#7
|
![]() |
sen8, Для php функции in_array() можно указать массив в качестве первого параметра. В Вашем случае это будет выглядеть так: in_array(array(5, 6), $post_categories)
Сообщение отредактировал jokerov - 23.1.2015, 17:40 |
|
|
![]() |
![]()
Сообщение
#8
|
![]() |
код работает, но этот текст выводится ещё и на странице категории под каждой записью.... а мне нужно только на странице записи. Если вы добавляете код в single.php, каким образом текст отображается в категории? Категория и данный файл в WP никак не связаны... -------------------- |
|
|
![]() |
![]()
Сообщение
#9
|
|
![]() |
Форумчане выше перемудрили.
В wp есть условный тег in_category т.е., чтобы вывести какой-то текст в полной записи, которая находиться в категории с ID 5, достаточно такого кода: Код <?php if(in_category(5)): ?> Выводим текст <?php endif;?> для нескольких категорий: Код <?php if(in_category( array( 1,2,3,4,5,6))): ?> Выводим текст <?php endif;?>
Сообщение отредактировал Alex_RD - 24.1.2015, 7:33 -------------------- Wordpress, HostCMS, DataLife engine, Shop-Script... Портфолио (beta) |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
![]() |
Dao.AD: пуши, попсы и не только! ТОП монетизация и арбитраж. | Акция 100 % отчисления! | 22 | Daopush | 7762 | 16.5.2022, 13:43 автор: Daopush |
![]() |
![]() |
2 | CPA_PRIVATE | 1355 | 11.5.2022, 14:10 автор: CPA_PRIVATE |
![]() |
Два филиала одной компании в одном городе | 10 | Ostromir | 1513 | 13.4.2022, 22:52 автор: adamsadriane |
![]() |
Нужно ли кому 3 "вечные" лицухи ISP 5 Lite Продам за ненадобностью |
6 | Dani | 912 | 3.4.2022, 13:17 автор: LigaGiga |
![]() |
Ссылки для сайта онлайн игр (Только Украина) | 0 | errorrs | 974 | 16.3.2022, 17:14 автор: errorrs |
![]() |
Текстовая версия | Сейчас: 28.5.2022, 1:46 |