По умолчанию, WordPress не позволяет шорткодам выполнятся в произвольных (созданных пользователем) полях. Если же, по какой-либо причине вам нужно это сделать, увидеть результат работы шорткода в поле, есть простой способ это сделать.
Вставьте этот код в любую страницу, которая отображает результат шорткода, и измените your_custom_field_here на имя вашего произвольного поля. Результат на лицо, то бишь на странице 🙂
<?php echo apply_filters('the_content', get_post_meta($post->ID, 'your_custom_field_here', true)); ?>
Получаем значение произвольного поля при помощи шорткода
Добавте следующий php код в файл function.php вашей темы, и вы получите возможность вывести значение произвольного поля при помощи шорткода
add_shortcode('field', 'shortcode_field');
function shortcode_field($atts){
extract(shortcode_atts(array(
'post_id' => NULL,
), $atts));
if(!isset($atts[0])) return;
$field = esc_attr($atts[0]);
global $post;
$post_id = (NULL === $post_id) ? $post->ID : $post_id;
return get_post_meta($post_id, $field, true);
}
Для вывода шорткода в записи пропишите шорткод
[field "my_key"] [field "my_key" post_id=1]
Если вы хотите получить значение произольного поля другой записи, то просто укажите ID этой записи, как показано во второй строке.
