普通网友 2018-07-03 11:23
浏览 31
已采纳

html验证错误wp_json_encode

So I am facing the html validation error.

Error: " in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.

Making the array

$slider_options = [
  'items' => $item,
  'item_tab' => $item_tab,
  'arrows' => ('yes' === $settings['arrow']),
  'dots' => ('yes' === $settings['dot']),
  'auto' => ('yes' === $settings['auto']),
  'transition' => ('yes' === $settings['transition']),
  'center' => ('yes' === $settings['center']),
  'speed' => $settings['speed']['size'],                                      
 ];

Now echoing the out result.

echo '<div class="style-three" data-slick ='.wp_json_encode($slider_options).'>';

Which out put

<div class="style-three" data-slick ={"items":1,"item_tab":1,"arrows":true,"dots":true,"auto":false,"transition":true,"center":false,"speed":3050}>

Everything work fine but the only bug is the validation error.

  • 写回答

1条回答 默认 最新

  • dousong8187 2018-07-03 11:32
    关注

    from the HTML specification:

    The attribute value can remain unquoted if it doesn’t contain spaces or any of " ' ` = < or >

    you can try to use single quotes ' to wrap your attribute value (so that it doesn't conflict with your generated double quotes " inside your value):

    echo '<div class="style-three" data-slick =\''.wp_json_encode($slider_options).'\'>';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?