Как выполнять шорткоды в произвольных полях в WordPress

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

VN:F [1.9.22_1171]
Rating: 4.5/5 (10 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top