X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вывод дополнительных полей через условие (Wordpress)
LEXENUS
LEXENUS
Topic Starter сообщение 14.6.2013, 10:25; Ответить: LEXENUS
Сообщение #1


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

Подскажите как правильно написать условие вывода. (в программирование полный 0).


<?php if(здесь должно быть условие что дополнительное поле menu существует и не пустое)
{
<center><?php echo (get_post_meta($post->ID, 'menu', true));?></center>
}
else
{
echo ' Я робот!';
}
?>


Подскажите как поправить код и будет ли он работать в таком виде.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex_RD
Alex_RD
сообщение 14.6.2013, 10:29; Ответить: Alex_RD
Сообщение #2


Развернуть/Свернуть
<?php if(is_page($id))
{
<center><?php echo (get_post_meta($post->ID, 'menu', true));?></center>
}
else
{
//вывод дефолтного меню
}
?>

где $id - id нужной страницы (именно страницы, не записи, не рубрики)

update:
Гм,
поправка так правильней будет:

<?php $additional_menu = get_post_meta($post->ID, 'menu', true);?>
<?php if($additional_menu)
{
<center><?php echo $additional_menu;?></center>
}
else
{
//вывод дефолтного меню
}
?>


Сообщение отредактировал Alex_RD - 14.6.2013, 10:36


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NoMax
NoMax
сообщение 14.6.2013, 10:43; Ответить: NoMax
Сообщение #3


Тогда уж так правильно будет:

<?
if (get_post_meta($post->ID, 'menu', true)) {
echo '<center>'.get_post_meta($post->ID, 'menu', true).'</center>';
}
else
{
//вывод дефолтного меню
}
?>


--------------------


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LEXENUS
LEXENUS
Topic Starter сообщение 14.6.2013, 10:48; Ответить: LEXENUS
Сообщение #4


После вставки кода перестаёт отображаться главная.

И вопрос какой синтаксис верен для wp. Представленый выше или такой.
<?php $additional_menu = get_post_meta($post->ID, 'menu', true);?>
<?php if($additional_menu)?>
<center><?php echo $additional_menu;?></center>

<?php endwhile; else: ?>

дефолтное меню

<?php endif; ?>


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

NoMax, благодарю помогло smile.gif Alex_RD, также спасибо.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex_RD
Alex_RD
сообщение 14.6.2013, 10:55; Ответить: Alex_RD
Сообщение #5


NoMax,
Тогда уж так правильно будет:

Не знаю почему, не люблю wp-шные функции напрямую условия вставлять

<?
if (get_post_meta($post->ID, 'menu', true)) {
echo '<center>'.get_post_meta($post->ID, 'menu', true).'</center>';
}
else
{
//вывод дефолтного меню
}
?>

получается делаем 2 запроса вместо одного. Хотя вы правы, не обратил внимания, что html теги внутри php.

LEXENUS,

И вопрос какой синтаксис верен для wp. Представленый выше или такой.


оба, лично для меня условие{цикл} удобнее на маленьких (по строкам) выводах и в отдельно выносимых в functions.php, а if(): endif; на длинных (там где идет цикл вывода контента, с большим количеством .html тегов)

Сообщение отредактировал Alex_RD - 14.6.2013, 10:56


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LEXENUS
LEXENUS
Topic Starter сообщение 12.7.2013, 18:52; Ответить: LEXENUS
Сообщение #6


Добрый вечер. Не хотелось поднимать новую тему по данному вопросу, решил апнуть старую.

Та же ситуация, но нужно производить проверку url страницы на содержание определённого адрса.

<? if (проверка на содержание в адресе последовательно идущих символов /en/) {
echo '<center>'.get_post_meta($post->ID, 'menu', true).'</center>';
}
else
{
echo '<center>'.get_post_meta($post->ID, 'menu2', true).'</center>';
}
?>

То есть, если страница сайта англоязычная выводится дополнительное поле "menu", если нет "menu2".
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
сообщение 12.7.2013, 22:37; Ответить: andreykashops
Сообщение #7


LEXENUS, думаю ссылка Вам в помощь будет:
http://ixmaster.net/pokazat-blok-na-oprede...stranicax-sajta


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LEXENUS
LEXENUS
Topic Starter сообщение 13.7.2013, 2:20; Ответить: LEXENUS
Сообщение #8


andreykashops, спасибо.
Но по работе функции сразу возник вопрос.

$url = strpos($_SERVER['REQUEST_URI'], "single")

Я так понимаю, что берётся текущий url страницы, сравнивается с параметром single и возвращает true или false . Single должен содержать именно полный url или часть адреса страницы.
То есть в данном случае мне нужно создать отдельную переменную и в условие сравнить значение переменной?

$add= strpos($_SERVER['REQUEST_URI'], "single");
<? if (add == true) { /// } ?>

Поправьте меня, если я в чём-то не прав.


Добавлено

Написал следующий код:

<?php
$curre = en];
$url = strpos($_SERVER['REQUEST_URI'], $curre);

if ($url === true)
{
echo '<center>'.get_post_meta($post->ID, 'menu', true).'</center>';
}
else
{
echo '<center>'.get_post_meta($post->ID, 'menuen', true).'</center>';
}
?>

К примеру у нас страница: name.ru/en/jejejej.html

'REQUEST_URI' передаёт jejejej.html
'SERVER_NAME' передаёт name.ru

как получить en? smile.gif

Проблема рещилась. 'REQUEST_URI' не передавал /en/ изза того что плагин эмулировал директорию.
А саму проблему решил путём использования переменной плагина. Всем спасибо.

Сообщение отредактировал LEXENUS - 12.7.2013, 23:54
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПродам базу сайтов Wordpress в 16 миллионов доменов! Свежая сборка.
19 Boymaster 11420 20.4.2024, 0:01
автор: Boymaster
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыBropush - Твой бро в монетизации через Push-уведомления
30 bropush 11864 16.4.2024, 18:19
автор: bropush
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 952 7.4.2024, 18:05
автор: Alex-777
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 2389 23.3.2024, 7:41
автор: Room
Открытая тема (нет новых ответов) Перенос сайта на CMS Wordpress
8 freeax 4983 10.3.2024, 14:58
автор: freeax


 



RSS Текстовая версия Сейчас: 25.4.2024, 10:28
Дизайн