Post Wordpress 简码中的名称和自定义字段

Post name and custom fields in Wordpress Shortcode

我在我的 Wordpress 页面中使用短代码来显示以特定位置为中心的响应式 Google 地图。为此,我使用了外部 Wordpress 插件支持的简码。这样的简码比方说 [map address="New York"]。 由于我所有的 Wordpress post 标题都是城市的名称,我想自动化该过程并能够显示 post 的标题代替 [map] 简码中的地址参数。 是否可以?有什么办法吗?据我所知,Wordpress 不支持在短代码中嵌套代码或变量,但也许有某种解决方法。

我想为 'custom field' 完成相同的行为 - 非常相似的情况。

如果有任何帮助和建议,我将不胜感激

尝试将此代码放入主题中的 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');

然后在 posts/pages 中(甚至直接将其放入模板,或创建另一个过滤器来添加)使用短代码 [mymap] 将 运行 [map] 带有当前页面标题的短代码作为参数。