如何基于acf设置简码样式

时间:2019-07-31 12:06:06

标签: html css wordpress shortcode

我想将页面中acf字段的输出与我的简码结合起来。文本应在通过acf字段设置的颜色下划线。

我尝试调用字段颜色并通过内联样式设置文本修饰。但这是行不通的。有什么想法我做错了吗?

function quote_func($atts, $content = null){
 $color = get_field('color');
    $output = '<div>';
    $output .= '<span style="text-decoration-color:' . echo the_field('color'); . '">' . $content . '</span>';
    $output .= '</div>';

    return $output;
}
add_shortcode( 'quote', 'quote_func' );

2 个答案:

答案 0 :(得分:1)

您应该回显在函数开头设置的变量。

function quote_func($atts, $content = null){
   $color = get_field('color');
   $output = '<div>';
   $output .= '<span style="text-decoration-color:' . $color . '">' . $content . '</span>';
   $output .= '</div>';

   return $output;
} 
add_shortcode( 'quote', 'quote_func' );

答案 1 :(得分:0)

如果您不在帖子中,则

get_field('color')不足以获取值,您需要第二个参数。您输入的是简码,则需要使用:

get_field('color', $postId);

要从简码中获取帖子的ID,您可以使用:

global $post;
$postId = $post->ID;

如果每个帖子使用相同的颜色,则可能会有选项页,在这种情况下,您需要使用:

get_field('color', 'option');