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

250
18 марта 2017, 03:31

Есть сайт на 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>";
        }
}
Answer 1

Ответ найден - в шорткод нужно поместить

global $post;

и до цикла while и/или query_posts() разместить условие if( is_page(4814) ){..}

READ ALSO
Объединить массив в один

Объединить массив в один

Подскажите возможно соединить массивы в один, у меня заказ записывает в одну таблицу order, а товар в order_product

254
Фоновая игра плеера при переходе на страницы сайта на PHP

Фоновая игра плеера при переходе на страницы сайта на PHP

Рационально ли делать все переходы по страницам сайта на php + ajax для фоновой игры плеера (как в вк)?

230
Создание многоуровневого меню на Wordpress

Создание многоуровневого меню на Wordpress

Подскажите, как сделать на wordpress многоуровневое меню? Допустим есть такой массив объектов:

376
Как поменять php 5.6 на версию 7.0

Как поменять php 5.6 на версию 7.0

Как поменять php 56 на версию 7

297