WordPress 简码输出在页面上重复
WordPress Shortcode output is duplicated on page
我创建了一个 ACF 图像字段,我想将其添加到我的产品描述中。
然后我通过以下代码创建了一个简码:
function imgun_shortcode() {
$imgun = get_field('imgun')['sizes']['thumbnail']; // (thumbnail, medium, large, full or custom size)?>
<div>
<img src="<?php echo $imgun;?>">
</div> <?php
}
add_shortcode('imgun', 'imgun_shortcode');
然后我在扩展“block”中添加这个简码:
我通过产品描述中的短代码添加此页面,图像字段位于 2 次而不是短代码的位置,我不明白为什么。我的其他ACF“文本”字段没有这个问题。
你有什么想法吗?
您不能回显短代码的输出。 Note that the function called by the shortcode should never produce output of any kind. Shortcode functions should return the text that is to be used to replace the shortcode.
https://codex.wordpress.org/Shortcode_API
你可以这样做...
function imgun_shortcode() {
ob_start();
$imgun = get_field( 'imgun' )['sizes']['thumbnail']; // (thumbnail, medium, large, full or custom size)?>
<div>
<img src="<?php echo esc_url( $imgun ); ?>">
</div> <?php
return ob_get_clean();
}
add_shortcode( 'imgun', 'imgun_shortcode' );
或者你可以这样做...
function imgun_shortcode() {
$imgun = get_field('imgun')['sizes']['thumbnail']; // (thumbnail, medium, large, full or custom size).
return '<div><img src="' . esc_url( $imgun ) . '"></div>';
}
add_shortcode('imgun', 'imgun_shortcode');
我创建了一个 ACF 图像字段,我想将其添加到我的产品描述中。
然后我通过以下代码创建了一个简码:
function imgun_shortcode() {
$imgun = get_field('imgun')['sizes']['thumbnail']; // (thumbnail, medium, large, full or custom size)?>
<div>
<img src="<?php echo $imgun;?>">
</div> <?php
}
add_shortcode('imgun', 'imgun_shortcode');
然后我在扩展“block”中添加这个简码:
我通过产品描述中的短代码添加此页面,图像字段位于 2 次而不是短代码的位置,我不明白为什么。我的其他ACF“文本”字段没有这个问题。
你有什么想法吗?
您不能回显短代码的输出。 Note that the function called by the shortcode should never produce output of any kind. Shortcode functions should return the text that is to be used to replace the shortcode.
https://codex.wordpress.org/Shortcode_API
你可以这样做...
function imgun_shortcode() {
ob_start();
$imgun = get_field( 'imgun' )['sizes']['thumbnail']; // (thumbnail, medium, large, full or custom size)?>
<div>
<img src="<?php echo esc_url( $imgun ); ?>">
</div> <?php
return ob_get_clean();
}
add_shortcode( 'imgun', 'imgun_shortcode' );
或者你可以这样做...
function imgun_shortcode() {
$imgun = get_field('imgun')['sizes']['thumbnail']; // (thumbnail, medium, large, full or custom size).
return '<div><img src="' . esc_url( $imgun ) . '"></div>';
}
add_shortcode('imgun', 'imgun_shortcode');