Задать вопрос
@ligisayan

Как реализовать условия в шорткоде в зависимости от страниц сайта на wordpress?

Всем привет! Есть сайт на wordpress на страницах которого через шорткод хочу выводить портфолио для каждой со своими особенностями.
В functions.php прописываю щорткод, указываю в условиях для какой страницы хочу, чтобы исполнялся if( is_page(4814) ){..}, но, к сожалению, на этом этапе еще id страницы не воспринимает и условие if не выполняется. Как реализовать?
function portfolio_list($atts, $content = null) {
..
				if( is_page(4814) ){
					$portfolios = get_post_meta(get_the_ID(), "qode_portfolios", true);
					if($portfolios[0]['optionUrl']) {
						$html .= qode_portfolios_function($portfolios[0]);
					}
				}
				else {
					$html .= "<a class='preview' href='". get_permalink() ."'><i class='icon-link icon-2x'></i>".__('Подробнее','qode')."</a>";
				}
}
  • Вопрос задан
  • 287 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
llgruff
@llgruff
Scala
Добавить в начало шорткода global $post;
Ответ написан
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Привет.

Странно, в шорткодах global $post должен быть доступен.

Можете попробовать получить id страницы из её ярлыка с помощью функции get_page_by_path.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы