По умолчанию, 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 этой записи, как показано во второй строке.