将 Acf 颜色选择器回显到短代码中

Echo Acf color picker into a shortcode

所以我使用 ACF 制作主题颜色代码以在电子邮件背景和页面背景中呼应它,使用一个简单的文本字段。

我所做的是制作了这个片段:

add_shortcode( 'bg-color', function() {return'<?php the_field('color-code', 'option'); ?>';} );

将文本字段回显为:#ffffff

但我收到 php 错误。

当我尝试使用短代码插件时,它就像一个魅力,但是当我把它作为颜色字段时,它会 return 短代码的确切名称而不是实际的颜色代码,所以它看起来像这样:page-bacground: [bg-color],而不是 page-bacground: #fffff

我知道我在第一个短代码中做错了,因为它是 php 和 php,这就是为什么存在 语法错误 .

我也试过:

add_shortcode( 'bg-color', function() {return'[acf field="color-code" post_id="options"]';} );

但运气不好

您需要 get_field,因为它 returns 的值如下:

add_shortcode('bg-color', function() {
    return get_field('color-code', 'option');
});

// PHP 7.4+ one liner for this simple case...
add_shortcode('bg-color', fn() => get_field('color-code', 'option'));