Имя поста и пользовательские поля в Wordpress Shortcode - PullRequest
0 голосов
/ 15 ноября 2018

Я использую шорткоды на своей странице Wordpress для отображения адаптивной карты Google с центром в определенном месте. Для этого я использую шорткод, поддерживаемый внешним плагином Wordpress. Такой шорткод, скажем, [map address = "New York"]. Поскольку все мои заголовки в Wordpress - это названия городов, я хотел бы автоматизировать процесс и иметь возможность отображать заголовки поста вместо параметра адреса в шорткоде [map]. Является ли это возможным? Есть ли способ сделать это? Насколько я знаю, вложенный код или переменные в шорткоде не поддерживаются Wordpress, но, возможно, есть какой-то обходной путь.

То же поведение, которое я хотел бы выполнить для «настраиваемого поля» - действительно похожая ситуация.

Буду признателен за любую помощь и любой совет

1 Ответ

0 голосов
/ 15 ноября 2018

Попробуйте поместить этот код в файл functions.php вашей темы:

function mymap_shortcode() {
    echo do_shortcode('[map address="'.esc_html( get_the_title() ).'"]');
}
function mymap_shortcodes_init() {
    add_shortcode('mymap', 'mymap_shortcode');
}
add_action('init', 'mymap_shortcodes_init');

А затем в сообщениях / страницах (или даже поместить его непосредственно в шаблон, или создать другой фильтр, чтобы добавить это) используйтешорткод [mymap], который будет запускать шорткод [map] с заголовком текущей страницы в качестве параметра.

...