除了创建无限数量的模板之外,在 WordPress 帖子中使用 JavaScript 的最终最佳实践是什么?
将它放在 HTML 选项卡中会给我带来很多问题,因为WordPress 坚持插入的p
and标签。br
还有其他人遇到这个问题吗?
先感谢您!
除了创建无限数量的模板之外,在 WordPress 帖子中使用 JavaScript 的最终最佳实践是什么?
将它放在 HTML 选项卡中会给我带来很多问题,因为WordPress 坚持插入的p
and标签。br
还有其他人遇到这个问题吗?
先感谢您!
去掉空格并在你的 JS 中返回,它会起作用。这不会给 WP 编辑器任何添加中断和返回的东西。
或者,把它扔到functions.php中:
// <!-- noformat on --> and <!-- noformat off --> functions
function newautop($text)
{
$newtext = "";
$pos = 0;
$tags = array('<!-- noformat on -->', '<!-- noformat off -->');
$status = 0;
while (!(($newpos = strpos($text, $tags[$status], $pos)) === FALSE))
{
$sub = substr($text, $pos, $newpos-$pos);
if ($status)
$newtext .= $sub;
else
$newtext .= convert_chars(wptexturize(wpautop($sub))); //Apply both functions (faster)
$pos = $newpos+strlen($tags[$status]);
$status = $status?0:1;
}
$sub = substr($text, $pos, strlen($text)-$pos);
if ($status)
$newtext .= $sub;
else
$newtext .= convert_chars(wptexturize(wpautop($sub))); //Apply both functions (faster)
//To remove the tags
$newtext = str_replace($tags[0], "", $newtext);
$newtext = str_replace($tags[1], "", $newtext);
return $newtext;
}
function newtexturize($text)
{
return $text;
}
function new_convert_chars($text)
{
return $text;
}
remove_filter('the_content', 'wpautop');
add_filter('the_content', 'newautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'newtexturize');
remove_filter('the_content', 'convert_chars');
add_filter('the_content', 'new_convert_chars');
然后像这样在编辑器中将你的 JS 括起来:
<!-- noformat on -->
<script type="text/javascript">
blah blah blah
</script>
<!-- noformat off -->
有一些技巧可以让你做到这一点,但最简单的方法是使用一个插件,它允许你将 javascript 添加到单个帖子中。谷歌拉起了这个,但我敢肯定还有更多。
或者,您可以编写一个“shell”javascript 文件,<script>
根据页面的 URL 将标签注入到您的标头中。假设您要添加一个名为的脚本文件到一个名为.URLtestFile
的页面。将以下代码放入名为的 shell 文件中:testPage
www.mydomain.com/testPage
shell.js
if (location.href === "http://www.mydomain.com/testPage") {
var testFile = document.createElement("script");
testFile.setAttribute("src","testFile.js");
document.getElementsByTagName("head")[0].appendChild(testFile);
}
您需要shell.js
使用自定义 javascript 为每个页面添加单独的脚本注入代码段。
然后<script src='shell.js'></script>
使用 WordPress 的内置编辑器添加到您的标题模板。
Wordpress 也有一些官方建议。