Получение значения настраиваемого поля для functions.php и отображение в шорткоде
Может быть, кто-то сможет помочь мне с моей проблемой, потому что я застрял без идей.
У меня на сайте есть шорткод, который отвечает за отображение фотосетов прямо из Flickr (через внешний плагин).
Код, сгенерированный плагином, выглядит следующим образом: [justify_image_grid preset=c1 flickr_user=USERID flickr_photoset=PHOTOSETID]
В моих сообщениях блога отображаются различные фотосеты от Flickr. Я бы хотел избежать необходимости каждый раз редактировать шорткод, чтобы обновлять шорткод с правильным идентификатором фотосета, поэтому я решил использовать настраиваемое поле (Key = FlicktPhotoset, Value = Photoset ID) и добавить функцию к functions.php, которая бы создать мой шорткод, который будет включать в себя оригинальный шорткод со значением из настраиваемого поля.
Код в functions.php выглядит следующим образом:
function flickr_shortcode() {
echo do_shortcode('[justified_image_grid preset=c1 flickr_user=USERNAME flickr_photoset=PHOTOID]');
}
function flickr_shortcodes_init() {
add_shortcode('flickr', 'flickr_shortcode');
}
add_action('init', 'flickr_shortcodes_init');
Я застрял в том, как передать значение шорткода в этот код, чтобы автоматически извлечь PHOTOID из значения настраиваемого поля.
1 ответ
Что-то вроде этого:
function flickr_shortcode() {
$FlicktPhotoset = get_post_custom_values("FlicktPhotoset");
echo do_shortcode('[justified_image_grid preset=c1 flickr_user=USERNAME flickr_photoset='.$FlicktPhotoset[0].']');
}
function flickr_shortcodes_init() {
add_shortcode('flickr', 'flickr_shortcode');
}
add_action('init', 'flickr_shortcodes_init');