获取functions.php的自定义字段值并在短代码中显示

获取functions.php的自定义字段值并在短代码中显示,php,wordpress,custom-fields,wordpress-shortcode,Php,Wordpress,Custom Fields,Wordpress Shortcode,也许有人能帮我解决这个问题,因为我没有任何想法 我在我的网站上有一个快捷代码,负责直接从Flickr(通过外部插件)显示Photoset 插件生成的代码如下所示: [对齐的\u图像\u网格预设=c1 flickr\u用户=用户ID flickr\u photoset=PhotoseId] 我的博客帖子显示了Flickr的各种照片集。我想避免每次都要编辑短代码来用正确的photoset ID更新短代码,所以我决定使用自定义字段(Key=FlicktPhotoset,Value=photoset I

也许有人能帮我解决这个问题,因为我没有任何想法

我在我的网站上有一个快捷代码,负责直接从Flickr(通过外部插件)显示Photoset

插件生成的代码如下所示: [对齐的\u图像\u网格预设=c1 flickr\u用户=用户ID flickr\u photoset=PhotoseId]

我的博客帖子显示了Flickr的各种照片集。我想避免每次都要编辑短代码来用正确的photoset ID更新短代码,所以我决定使用自定义字段(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');
我一直想知道的是,如何将shortcode值传递到该代码中,以便从自定义字段值中自动获取PHOTOID。

类似以下内容:

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');

不,不幸的是这样的东西不起作用。当我使用这段代码时,FlickrAPI返回的信息是这个ID的照片集不存在。当我用ID号替换它时(没有获得自定义字段值),它工作正常。在我看来,函数无法获取自定义字段值。对不起,我认为此函数返回数组,我修改了代码,请尝试新的。此外,这取决于您在哪里运行您的短代码,如果您在循环之外使用它,您还必须传递post_ID作为第二个参数。太好了。非常感谢。这正是我想要的。我真的很感谢你的帮助