Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 11.08.2013
Сообщений: 8
1

Вытащить и проверить определенный тег в вордпрессе

11.03.2016, 18:32. Показов 672. Ответов 7
Метки нет (Все метки)

Здравствуйте.
Два дня искал решение в инете... пишу сюда.

В общем мне нужно при наличии у записи определенного тега, вывести его.

Допустим если у записи есть тег "привет", то мы выводим его, если есть тег "здравствуй", то выводим его, если нет никакого из этих двух, то выводим текст "До свидания".

При этом желательно чтобы теги выводились как полагается сразу со ссылкой.

Подскажите пожалуйста как сделать? Только такую вот конструкцию знаю, а что в пробелах ставить?

if ( == "привет") { }
elseif ( == "здравствуйте") { }
else { }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2016, 18:32
Ответы с готовыми решениями:

Проверить, существует ли определённый тег в XML.
Добрый день, подскажите пожалуйста, имеется xml файл (timetable.xml): <?xml version="1.0"...

Удалить из строки определенный тег
Здравствуйте. Как можно из строки удалить тег div с id="citat" и с его содержимым? В регулярках не...

Вытащить содержимое блока и его тег
Как вытащить по мимо контента блока, вытащить еще и его тег...

Не могу понять как мне найти функцию внедряющую в тег определенный стиль
Уважаемые JS программисты, Я в JS профан. Задача воткнуть на сайта слайдер фотогалереи. Заметил что...

7
Эксперт PHP
3576 / 2995 / 1259
Регистрация: 01.08.2012
Сообщений: 10,258
11.03.2016, 18:40 2
PHP
1
2
3
4
5
6
7
8
$tag = 'Вася, привет!';
 
if(stripos($tag, 'привет') !== false)
    echo 'привет';
elseif(stripos($tag, 'здравствуйте') !== false)
    echo 'здравствуйте';
else
    echo 'досвидос';
0
0 / 0 / 0
Регистрация: 11.08.2013
Сообщений: 8
11.03.2016, 19:13  [ТС] 3
Тогда :
PHP
1
2
3
4
5
6
7
8
$tag = the_tag();    // тут переменной надо присвоить все теги, так?
 
if(stripos($tag, 'привет') !== false)
    echo 'привет';           // тут же просто текст будет выводится? а именно тег со ссылкой можно сделать?
elseif(stripos($tag, 'здравствуйте') !== false)
    echo 'здравствуйте';
else
    echo 'досвидос';
Добавлено через 26 минут
PHP
1
2
3
4
5
6
7
 <?php 
$posttag = the_tags();        
    if (stripos ($posttag, 'братск') !== false) {
echo "Братск."; }
elseif (stripos ($posttag, 'иркутск') !== false) { echo "Иркутск.";}
else { echo "нет."; }
 ?>
Этот код не работает. Результат - мне выдает все теги и третий вариант.
0
Эксперт PHP
3576 / 2995 / 1259
Регистрация: 01.08.2012
Сообщений: 10,258
11.03.2016, 21:27 4
Цитата Сообщение от apacha Посмотреть сообщение
// тут переменной надо присвоить все теги, так?
Только один. Если их несколько - перебираем в цикле.
Цитата Сообщение от apacha Посмотреть сообщение
// тут же просто текст будет выводится? а именно тег со ссылкой можно сделать?
Да, только текст. Что такое тег со ссылкой? Покажите пример исходных данных.
Цитата Сообщение от apacha Посмотреть сообщение
Результат - мне выдает все теги и третий вариант.
Не понял, как этот код может выдавать все теги...
0
0 / 0 / 0
Регистрация: 11.08.2013
Сообщений: 8
12.03.2016, 17:21  [ТС] 5
Цитата Сообщение от Jodah Посмотреть сообщение
Только один. Если их несколько - перебираем в цикле.

Да, только текст. Что такое тег со ссылкой? Покажите пример исходных данных.

Не понял, как этот код может выдавать все теги...
функция the_tags(); изначально в вордпрессе выводит на странице все теги текущего поста. Грубо говоря это облако тегов. Хотя может эта функция в данной проблеме вообще не поможет, тут я не знаю.

Подскажите как перебирать циклом все теги?

Тег со ссылкой это я имею ввиду стандартный формат: братск, иркутск, москва, города
0
Эксперт PHP
3576 / 2995 / 1259
Регистрация: 01.08.2012
Сообщений: 10,258
12.03.2016, 23:51 6
apacha, а почему вы сразу не можете их вывести, зачем if использовать?
Теги в виде строки или массива приходят?
0
163 / 164 / 78
Регистрация: 06.09.2015
Сообщений: 632
13.03.2016, 12:13 7
да вот же готовый пример, взят https://codex.wordpress.org/Fu... t_the_tags
выводит массив, который можно перебрать

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
if ($all_the_tags);
$all_the_tags = get_the_tags();
foreach($all_the_tags as $this_tag) {
    if ($this_tag->name == "sometag" ) {
?>
 
<p>SOME HTML CODE <img src="someimage.jpg"></p>
 
<?php   } else if ($this_tag->name == "someothertag" ) { ?>
 
<p>SOME OTHER HTML CODE <img src="someotherimage.jpg"></p>
 
<?php   } else {    
        // it's neither, do nothing
?>
        <!-- not tagged as one or the other -->
<?
    }
}
}
0
0 / 0 / 0
Регистрация: 11.08.2013
Сообщений: 8
13.03.2016, 17:58  [ТС] 8
Этот код проверяет каждый тег и на каждый дает результат.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php 
if ($all_the_tags);
$all_the_tags = get_the_tags();
foreach($all_the_tags as $this_tag) {
    if ($this_tag->name == "братск" ) {
?>
 
один
 
<?php   } else if ($this_tag->name == "иркутск" ) { ?>
 
два
 
<?php   } else {    
        // it's neither, do nothing
?>
        три
<?
    }
}
}
?>
То есть если проверяем теги: братск, питер, москва, города - то результат такой:

один, три, три, три.

Как сделать чтобы выводилось только слово ОДИН? в этом коде. (надеюсь понятно)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2016, 17:58

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как вытащить определенный элемент из SQL
Добрый день, есть вот такой код. &lt;?php require &quot;includes/db.php&quot;; $data=$_POST; $errors =...

Как вытащить определенный текст в ячейку
Есть таблица с ячейкой где перечислены характеристики товара. Первой характеристикой идет &quot;Вендор:...

Как из строк вытащить определенный текст
В БД у меня есть поле ФИО. Используя построитель мне нужно от туда вытащить только фамилию без...

Вытащить определенный набор символов из ячейки по критериям
Добрый день! Вопрос наверно банальный,есть столбец в котором в каждой ячейке указано полное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.