在我的wordpress页面上(我将使用它作为模板进行复制),我需要使用自定义字段“ dropbox”作为href网址。
我创建了一个PHP代码段(短代码)以替代网址:[xyz-ips snippet =“ dropbox”]
这是短代码中的PHP:
<?php the_field('dropbox'); ?>
这是页面上的代码:
<a href="[xyz-ips snippet=" dropbox"]"="" target="_new">download the documents</a>
此简短代码不会将网址从自定义字段传递到href。有什么想法吗?
谢谢。
答案 0 :(得分:1)
如果您的简码符合您的描述,则应该可以使用,但是您应该注意,简码需要return
个值,而不是echo
个值。您没有发布用于注册它的代码,因此我只能假设您正在回显内容,而不返回它。
话虽如此, 我只是让短代码回显整个链接,这样您就可以对整个事情进行更精细的控制:
add_shortcode( 'xyz-ips-link', function( $atts ){
extract( shortcode_atts( array(
'snippet' => 'dropbox',
'text' => 'Download the Documents',
'target' => '_new',
), $atts ) );
$link = sprintf( '<a href="%s" target="%s">%s</a>', get_field( $snippet ), $target, $text );
return $link;
});
这将使您仅在内容中的任何地方使用[xyz-ips-link]
,
或<?php echo do_shortcode( '[xyz-ips-link]' ); ?>
。
它还使您可以更精细地控制链接的内容,例如[xyz-ips-link snippet="dropbox" text="Some Alternative Text"]
。
您还将注意到我使用的是get_field()
而不是the_field()
。 WordPress(和ACF)都具有get_
个函数,这些函数返回供您使用的变量,还有the_
个函数,它们默认情况下并输出该变量。
您可以看到此代码here的示例,注意:我没有安装ACF,所以我替换了href
属性)
答案 1 :(得分:0)
嗨,请尝试它可能对您有用。
echo do_shortcode('dropbox');
答案 2 :(得分:0)
尝试
$dropdown = get_the_field('dropbox');
echo do_shortcode($dropbox);
OR
$dropdown = get_field('dropbox');
echo do_shortcode($dropbox);
答案 3 :(得分:0)
因此,事实证明,有一种特定的方法可以调用网址自定义字段(ACF)。我将以下代码插入了一个PHP代码的简码中。这就像一个魅力!
<?php
$link = get_field('dropbox');
if( $link ): ?>
<a class="button" href="<?php echo $link; ?>" target="_new">download documents</a>
<?php endif; ?>