Как выполнять шорткоды в произвольных полях в 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.8/5 (6 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • http://www.facebook.com/yevgeniy.kovalenko.1 Yevgeniy Kovalenko

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

  • Вадим

    Здравствуйте, не подскажите можно ли в вызове шорткода двойные кавычки заменить одинарными или совсем убрать?

  • Дмитрий

    не совсем понятная статья… есть шорт код [download url=»УРЛ»] где урл — ссылка к файлу. (шорт код выводит некоторые значения кол-во скачиваний:0 размер файла: 0кб дата: 12.12.12) Есть произвольное поле c именем «download» каким же образом мне нужно прописать в php файле код, чтоб тот вывел мой шорт код — (кол-во скачиваний:0 размер файла: 0кб дата: 12.12.12) при том, что бы в значении произвольного поля, можно было прописать урл — путь к файлу. Вот такая вот задача!

Scroll To Top