1

这是我在 wordpress 站点中为按钮打开简码弹出提示所做的功能之一。我还看到<p>标签是由wordpress内部函数添加的,也许这可能是错误的。

<input id="textarea" name="textarea" type="text" value="" placeholder="place it here">

<script>
function pol()
{
var x;

var name=prompt("Name","Name");

if (name!=null)
  {
  x = document.getElementById("textarea").value; 
  x = "[pol]" + name + "[/pol]";
  document.getElementById("textarea").value=x;
  }
}
</script>

<input type="button" value="pol" onClick="pol()">

错误:

Uncaught syntax error: Unexpected token <

Uncaught ReferenceError: pol is not defined

在 wordpress 页面中,在 chrome 上,inspect 元素显示如下功能:

    <input id="textarea" name="textarea" type="text" value="" placeholder="place it here"></p>
    <p><script>
    function pol()
    {
    var x;</p>
    Uncaught SyntaxError: Unexpected token <
    <p>var name=prompt("Name","Name");</p>
    <p>if (name!=null)
      {
      x = document.getElementById("textarea").value; 
      x = "[pol]" + name + "[/pol]";
      document.getElementById("textarea").value=x;
      }
    }
    </script></p>
    <p><input type="button" value="pol" onClick="pol()"></p>
    Uncaught ReferenceError: pol is not defined (repeated 2 times)

我发现主题是错误的来源。某处发生冲突...

解决方案:

在每一个空行中,wordpress 主题都被编码到广告<p>标签中,并且出现了错误,现在我修复了功能并且它正在工作:

<script>
function pol()
{
var x;
var name=prompt("Name","Name");
if (name!=null)
  {
  x = document.getElementById("textarea").value; 
  x = "[pol]" + name + "[/pol]";
  document.getElementById("textarea").value=x;
  }
}
</script>
<input type="button" value="pol" onClick="pol()">
4

1 回答 1

0

您还可以在 php 页面中添加以下代码以删除 WordPress 预编码

每个新行或空行的标签。remove_filter('the_content', 'wpautop');

于 2013-07-11T06:57:09.033 回答