我想创建一个快捷码,用于显示ACF自定义字段中的图像,该字段当前的返回格式设置为Image ID. 短代码需要接受post\\u id,以便从特定页面获取字段。
因此,短代码是:
[acf_featured_item post_id="88"]
我知道有一个可用的ACF快捷码,但已经有另一个位置依赖于ID的返回格式。因此我无法更改此位置。
我当前的代码是:
function acf_featured_item_shortcode( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
\'post_id\' => \'\',
),
$atts
);
$image = get_field(\'featured_item\', $post_id );
$size = \'medium\'; // (thumbnail, medium, large, full or custom size)
if( $image ) {
$output = wp_get_attachment_image( $image, $size, "", array( "class" => "mx-auto d-block" ));
}
return $output;
}
add_shortcode( \'acf_featured_item\', \'acf_featured_item_shortcode\' );
但这只在您访问该id的页面时起作用。如何使此短代码在任何带有post\\u id输入的页面上起作用?
最合适的回答,由SO网友:Shadow 整理而成
因为你忘了用$atts[\'post_id\']
请查找以下代码。
function acf_featured_item_shortcode( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
\'post_id\' => \'\',
),
$atts
);
$post_id = $atts[\'post_id\'];
$image = get_field(\'featured_item\', $post_id );
$size = \'medium\'; // (thumbnail, medium, large, full or custom size)
if( $image ) {
$output = wp_get_attachment_image( $image, $size, "", array( "class" => "mx-auto d-block" ));
}
return $output;
}
add_shortcode( \'acf_featured_item\', \'acf_featured_item_shortcode\' );