我能想到的最基本的选择是
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"]\')