Wordpress短代码删除HTML

时间:2014-07-31 14:24:05

标签: html wordpress

我在一个非常糟糕的主题森林WP主题Dignity中遇到了很多问题。 特别是,我有一个简短的代码,呈现自定义文本旋转器。代码非常简单,例如:

[text-rotator customclass="mycssclass"]my text, my text<br />new text[/text-rotator]

非常奇怪的是,当显示短代码时,每个HTML标记都会被删除。它们被直接删除,并且不会触及内容。例如,对于上面的代码,我将输出我的文本mytextnewtext;没有换行。

为什么?也许是内置的WP过滤器?我检查了短代码功能,但似乎没有任何过滤器。这是注册短代码的地方:

    function dignity_text_rotator($atts, $content = null)
{
  extract(shortcode_atts(array("customclass" => '', "fx" => ''), $atts));
  //Options
  $data_fx = '';

  if($fx != '')
  {
    $data_fx = 'data-fx="'.$fx.'"';
    $customclass = $customclass.' animated';
  }

  if($customclass != '') { $cc = $customclass; } else $cc = '';

  //Return content  
  $html = '<div class="text-rotator '.$cc.'" '.$data_fx.'><span class="rotate">'.do_shortcode($content).'</span></div>';
  return $html; 
}

任何提示?

1 个答案:

答案 0 :(得分:0)

更新:奇怪的是,问题出现在js脚本中,然后读取div中的文本并创建实际的文本旋转器。 事实上,它通过直接删除HTML标签来清理读取节点html时的所有html。为了解决这个问题,我不得不修改JS脚本中检索笔记内容的方式。