【发布时间】:2016-09-30 17:34:20
【问题描述】:
如果我创建一个页面,并在编辑器中输入一个内容,即 Slider Revolution 短代码 ([rev_slider alias="grill_accessories"][/rev_slider]),我的幻灯片将无法正常工作。由于某种原因,高度只有 48 像素高。您可以在此处查看示例页面:sample slider page
当我在 Chrome(或 FireFox)中使用 Web Developer 检查 html 时,我注意到有 p 标签散布在 output.class.php 文件的 <script> 代码输出中和周围。
例如,这里是 output.class.php 文件中的代码示例函数,它创建了一个<script> 输出:
public function add_inline_styles(){
if(!is_admin()){
echo '<script>var htmlDiv = document.getElementById("rs-plugin-settings-inline-css"); var htmlDivCss="';
}
else echo "<style>";
$db = new RevSliderDB();
$styles = $db->fetch(RevSliderGlobals::$table_css);
foreach($styles as $key => $style){
$handle = str_replace('.tp-caption', '', $style['handle']);
if(!isset($this->class_include[$handle])) unset($styles[$key]);
}
$styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
$styles = RevSliderCssParser::compress_css($styles);
if(!is_admin()){
echo addslashes($styles).'";
if(htmlDiv) {
htmlDiv.innerHTML = htmlDiv.innerHTML + htmlDivCss;
}else{
var htmlDiv = document.createElement("div");
htmlDiv.innerHTML = "<style>" + htmlDivCss + "</style>";
document.getElementsByTagName("head")[0].appendChild(htmlDiv.childNodes[0]);
}
</script>'."\n";
}
else echo $styles.'</style>';
}
但这就是它在输出上的样子,使用 Web 开发者工具检查器:
var htmlDiv = document.getElementById("rs-plugin-settings-inline-css"); var htmlDivCss="";
if(htmlDiv) {
htmlDiv.innerHTML = htmlDiv.innerHTML + htmlDivCss;
}else{
var htmlDiv = document.createElement("div");
htmlDiv.innerHTML = "</p>
<style>" + htmlDivCss + "</style>
<p>";
document.getElementsByTagName("head")[0].appendChild(htmlDiv.childNodes[0]);
}
我远不是 WordPress 专家,如果我是的话,我什至可能不会问,但我已经尝试过
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
...将它添加到我的functions.php 的顶部或我的functions.php 的底部(似乎没有明确说明必须在哪里添加这两行代码,或者它可能没有'没关系),它永远不会真正起作用。我也尝试过各种插件,例如 Toggle wpautop,但据我所知,它们什么也没做。
【问题讨论】: