Шорткоды и настраиваемые поля

Как заставить короткие коды правильно обрабатываться в настраиваемых полях?

Я пробовал использовать приведенный ниже код, но не могу понять, где его разместить ("кнопка" — это имя поля):

<?php 
if ( get_post_meta($post->ID, 'button', true) ) 
echo do_shortcode(get_post_meta($post->ID, 'button', $single = true));
?>

На данный момент шорткод работает в том смысле, что кнопка отображается, но текст шорткода отображается там, где должна быть кнопка «купить сейчас». Смотрите скриншот:

http://i.imgur.com/41vsr.png


person S. Fellig    schedule 24.06.2012    source источник


Ответы (1)


Просто поместите этот код на любую страницу, на которой отображаются результаты шорткода.

<?php echo apply_filters('the_content', get_post_meta($post->ID, 'button', true)); ?>

Обновление: поместите его в цикл

if ( get_post_meta($post->ID, 'button', true) ) 
echo do_shortcode(get_post_meta($post->ID, 'button', $single = true));
person The Alpha    schedule 24.06.2012
comment
Теперь это работает, но шорткод отображается вместе с содержимым. Как скрыть шорткод? - person S. Fellig; 25.06.2012