Помощник
Нужно вывести текст только в одной категории WP |
sen8
|
Сообщение
#1
|
||
|
|
||
|
|||
jokerov |
23.1.2015, 16:46;
Ответить: jokerov
Сообщение
#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 |
|
|
Tollun |
23.1.2015, 17:02;
Ответить: Tollun
Сообщение
#3
|
|
$post глобалезировать незачем.
да и... Код $category = get_the_category($post->ID);
if ( $category->cat_ID == 5 ) { print 'Hello World!'; } |
|
|
sen8
|
Сообщение
#4
|
|
Tollun, не работает...
Цитата <?php $category = get_the_category($post->ID); if ( $category->cat_ID = 5 ) { print 'Hello World!'; } ?> jokerov, код работает, но этот текст выводится ещё и на странице категории под каждой записью.... а мне нужно только на странице записи. -------------------- |
|
|
jokerov |
23.1.2015, 17:20;
Ответить: 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 |
|
|
sen8
|
Сообщение
#6
|
|
jokerov, огромнейшая благодарность, работает! У меня остался последний вопрос: если категории 2 (например, 5 и 6), то как их прописать. Пробую через запятую - не работает.
-------------------- |
|
|
jokerov |
23.1.2015, 17:40;
Ответить: jokerov
Сообщение
#7
|
|
sen8, Для php функции in_array() можно указать массив в качестве первого параметра. В Вашем случае это будет выглядеть так: in_array(array(5, 6), $post_categories)
Сообщение отредактировал jokerov - 23.1.2015, 17:40 |
|
|
andreykashops |
23.1.2015, 21:47;
Ответить: andreykashops
Сообщение
#8
|
|
код работает, но этот текст выводится ещё и на странице категории под каждой записью.... а мне нужно только на странице записи. Если вы добавляете код в single.php, каким образом текст отображается в категории? Категория и данный файл в WP никак не связаны... -------------------- |
|
|
Alex_RD |
24.1.2015, 7:31;
Ответить: Alex_RD
Сообщение
#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) |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как вывести деньги в Украине с заблокированного Юмани ? | 30 | freeax | 5042 | 20.4.2024, 16:49 автор: Liudmila |
|
Dao.AD: пуши, попсы и не только! ТОП монетизация и арбитраж. | Акция 100 % отчисления! | 90 | Daopush | 27359 | 19.4.2024, 18:27 автор: Daopush |
|
SEO-текст на главной странице сайта и в категориях | 5 | boltuk | 1432 | 26.3.2024, 21:43 автор: c4p1t4l15t |
|
Можно ли в старый SEO текст вместо старого домена поставить новый? | 3 | Tutich | 1220 | 22.3.2024, 14:47 автор: Tutich |
|
Нужно разносить телеграм каналы по разным аккаунтам? | 9 | Mixatraider | 1903 | 20.3.2024, 18:34 автор: Rebex |
Текстовая версия | Сейчас: 25.4.2024, 16:02 |