媒体附件自定义字段的快捷码(用于特色图像)

时间:2021-02-17 作者:Rob Jackson

我正在使用ACF(高级自定义字段)进行媒体上载,以存储有关照片的位置信息。当我将帖子特色图像设置为具有此额外字段的照片时,我想从该自定义字段输出位置信息。

基本上,我需要一个快捷码,它将输出当前帖子的特色图像的ACF自定义字段。

1 个回复
SO网友:Buttered_Toast

我能想到的最基本的选择是

add_shortcode(\'bt_featured_image_acf_location\', \'bt_featured_image_acf_location\');
function bt_featured_image_acf_location ($atts) {
    return get_field(\'location\', get_post_thumbnail_id());
}
将“location”更改为您的acf字段名,就这样。

get_post_thumbnail_id() 将获取当前帖子特色图片id。

一旦您有了要从中获取ACF字段的帖子ID(图像是帖子,属于帖子类型,附件),您可以将其传递给get_field() 在第二个论点中,你就完了。

无论您想怎样更改它,并根据需要添加尽可能多的逻辑,这是我对您提供的信息所能做的最好的了

编辑

如果在帖子模板中使用此短代码single.php, 这个短代码很好用。

如果您想在其他任何地方显示它,则需要手动传递帖子id。

可接受帖子id的已编辑短代码下方

add_shortcode(\'bt_featured_image_acf_location\', \'bt_featured_image_acf_location\');
function bt_featured_image_acf_location ($atts) {
    $atts = shortcode_atts([
        \'post_id\' => get_the_ID()
    ], $atts);

    return get_field(\'location\', get_post_thumbnail_id($atts[\'post_id\']));
}
现在这个短代码仍将以相同的方式工作,但现在您可以将post id传递给它

通常的称呼方式

echo do_shortcode(\'[bt_featured_image_acf_location]\')

使用post id调用短代码

echo do_shortcode(\'[bt_featured_image_acf_location post_id="5526"]\')

相关推荐

media file uploading

我在插件中使用此查询上载媒体文件,当我将其文件保存在wp\\u enqueue\\u script中时,除非我选择了图像,否则该代码不会返回wordpress页面。$content .=\'<div class="col-sm-6">\'; $content .=\'<label class="fo">Upload Image</label>\'; $content .=\'<input type="