HTML不在php数组esc_html中呈现

时间:2014-04-07 15:24:37

标签: php html wordpress themes

我正在使用名为 Divi

的优雅主题中的wordpress主题

它们有一个全宽滑块,顶部有一个按钮。当您在填充按钮的表单中输入文本时,您可以输入html,但是当它在页面上呈现时,您可以看到html而不是查看输出。

我查看了functions.php并找到了我在下面放置的按钮的代码块。我认为这与esc_html标签有关,但对此没有多少经验?

add_shortcode( 'et_pb_slide', 'et_pb_slide' );
function et_pb_slide( $atts, $content = '' ) {
    extract( shortcode_atts( array(
            'alignment' => 'center',
            'heading' => '',
        'button_text' => '',
        'button_link' => '#',
        'background_color' => '',
        'background_image' => '',
        'image' => '',
        'image_alt' => '',
        'background_layout' => 'dark',
        'video_bg_webm' => '',
        'video_bg_mp4' => '',
        'video_bg_width' => '',
        'video_bg_height' => '',
        'video_url' => '',
    ), $atts
) );

这是直接用于按钮的代码。

$button = '';
if ( '' !== $button_text )
    $button = sprintf( '<a href="%1$s" class="et_pb_more_button">%2$s</a>',
        esc_attr( $button_link ),
        esc_html( $button_text )
    );

抱歉,我目前无法提供网址。

1 个答案:

答案 0 :(得分:0)

我删除了esc_html,但它确实有效。