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

D
На сайте с 02.02.2010
Offline
148
#851
SEOKinG:
ребят, появилась интересная задача по дополнительным полям.

есть доп поле, выводится оно с проверкой заполнено ли оно, вот такой код:
<?php if (get_post_meta($post->ID, 'mobil', true) !== '') {echo "<p class='mobil'>Мобильная версия: ".get_post_meta($post->ID, 'mobil', true)."</p>"; }?>

сделано понятное дело для того, чтобы если поле пустое надпись "Мобильная версия:" не выводилась.

нужно сделать примерно следующее.
если в дополнительном поле mobil, находится значение "Да", тогда выводим <p class='green'>Да</p>, а если дополнительное поле mobil, находится значение "Нет", тогда выводим <p class='red'>Нет</p>

чтобы в коде получилось примерно так:
<p class='mobil'>Мобильная версия:<p class='green'>Да</p></p>, либо
<p class='mobil'>Мобильная версия:<p class='red'>Нет</p></p>

проверку пустое ли поле mobil желательно оставить.
как это можно сделать, и можно ли?🙅🤪

<?php $songs = get_post_meta($post->ID, 'mobil', true); 
if ($songs =="Да")
{
echo "<p class='green'>Да</p>";
}
elseif ($songs =="Нет")
{
echo "<p class='red'>Нет</p>";
}
else
{
echo "";
}
?>
SEOKinG
На сайте с 03.09.2008
Offline
183
#852

divv, срабатывание Да/Нет работает.

но перед значением, еще же нужно вывести

<p class='mobil'>Мобильная версия: значение поля </p>

покрутил код, туда-сюда, не смог нужно сделать. как подружить?

D
На сайте с 02.02.2010
Offline
148
#853

Я что-то не совсем понимаю.

так может?

<?php $songs = get_post_meta($post->ID, 'mobil', true);
if ($songs =="Да")
{
echo '<p class="mobil">Мобильная версия: да </p>';
}
elseif ($songs =="Нет")
{
echo '<p class="mobil">Мобильная версия: нет </p>';
}
else
{
echo "";
}
?>

ну или переменную подставить

echo '<p class="mobil">Мобильная версия:'. $songs.'</p>';

Polkan
На сайте с 28.09.2005
Offline
102
#854

SEOKinG, так попробуйте

$fieldvar = get_post_meta($post->ID, 'mobil', true);

if (!empty($fieldvar)) {
echo '<p class="mobil">Мобильная версия: '.'<p class="'.($fieldvar=="Да"?'green':'red').'"'>.$fieldvar.'</p></p>';
}
WordPress-плагин для Apishops (http://p-api-shop.ru/) P-API-Shop WooCommerce-плагин для Apishops (http://woo-apishops.ru/) Woo-Apishops
SEOKinG
На сайте с 03.09.2008
Offline
183
#855

divv, теперь что-то я ничего не понимаю. код работал, сейчас не работает. ни 1 версия, ни 2.

по идее вариант 2 должен работать, но почему-то нет, просто ничего не выводится на странице

Polkan, как я понял, вставил вот так:

<?php $fieldvar = get_post_meta($post->ID, 'mobil', true);

if (!empty($fieldvar)) {echo '<p class="mobil">Мобильная версия: '.'<p class="'.($fieldvar=="Да"?'green':'red').'"'>.$fieldvar.'</p></p>';
}
?>

ошибка в строке 22, строка 22 это

echo '<p class="mobil">Мобильная версия: '.'<p class="'.($fieldvar=="Да"?'green':'red').'"'>.$fieldvar.'</p></p>';
owx
На сайте с 27.06.2009
Offline
100
owx
#856
SEOKinG:
ошибка в строке 22, строка 22 это

 echo '<p class="mobil">Мобильная версия: <p class="'.($fieldvar=="Да"?'green':'red').'">'.$fieldvar.'</p></p>';
D
На сайте с 02.02.2010
Offline
148
#857

SEOKinG, код рабочий, только что проверил

<?php $songs = get_post_meta($post->ID, 'mobil', true);
if ($songs =="Да")
{
echo '<p class="mobil">Мобильная версия:<p class="green">Да</p></p>';
}
elseif ($songs =="Нет")
{
echo '<p class="mobil">Мобильная версия:<p class="red">Нет</p></p>';
}
else
{
echo '';
}
?>
SEOKinG
На сайте с 03.09.2008
Offline
183
#858

divv, огромное спасибо, но почему-то перестал пахать.

всем спасибо, решение нашел.

методом тыка, примеров в сети, и кодексом


<?php $value = get_post_meta($post ->ID, 'mobil', true);
if($value == 'да') {
echo '<p class="mobil">Мобильная версия: <span class="green">Да</span></p>';
} elseif($value == 'нет') {
echo '<p class="mobil">Мобильная версия: <span class="red">Нет</span></p>';

} else {
echo ' ';
}
?>

собственно не понял, чем отличается $value от $songs, но этот пример почему-то работает. выше - нет :(

ааа, тьфу ты, Сёмен Семёныч...

значения в полях, у меня с маленькой буквы, а в примере я написал с большой.

дико извиняюсь, нет мне прощенья.

V
На сайте с 20.07.2009
Offline
87
#859

Всем привет!

Может кто подскажет, как решить такую задачу.

Есть тип постов "Организации" и для него своя таксономия с иерархией "Регионы" (рубрики).


add_action('init', 'post_type_myorg');
function post_type_myorg() {
register_post_type('org',
array(
'label' => __('Все организации'),
'public' => true,
'show_ui' => true,
'publicly_queryable' => true,
'supports' => array(
'title',
'editor',
'thumbnail',
'excerpt',
'custom-fields',
'comments',
'revisions'
)
)
);
register_taxonomy( 'region', 'org',
array(
'hierarchical' => true,
'label' => __('Рубрики организаций'),
'labels' => $labels,
'query_var' => 'region',
'rewrite' => array('slug' => 'region')
)
);
}

Иерархия таксономии "Регионы" такая:

-Россия (Родительская. Первый уровень.)

--Московская область (Дочерняя. Второй уровень)

---Населённый пункт 1 (Третий уровень)

---Населённый пункт 2 (Третий уровень)

...

--Новосибирская область (Дочерняя. Второй уровень)

---Населённый пункт 1 (Третий уровень)

---Населённый пункт 2 (Третий уровень)

...

-Казахстан (Родительская. Первый уровень.)

(По аналогии 3 уровня.)

Мне нужно под каждый уровень создать свой шаблон вывода. То есть нужны три php файла/шаблона. Первый уровень (Страны: Россия, Казахстан,...) - свой файл/шаблон. Второй уровень (Регионы стран) - свой файл/шаблон. Третий уровень (Населённый пункты) - свой файл/шаблон.

Может кто знает, как реализовать?

SEOKinG
На сайте с 03.09.2008
Offline
183
#860

Volday, скорее всего нет, поскольку http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

либо каким-то доп плагином

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