这个标题有点像是绕口令有没有?一般人看到估计要一头雾水,但是经常使用wordpress发布文章、分享代码的站长一定会理解这种苦恼。当你在文章中分享某个短代码用法的时候,一旦发布文章,会发现短代码已经被运行了。今天发现原来我们可以禁止wordpres运行代码块中的短代码!
以前在编辑含有短代码的内容时要把{]替换成【】,然后还要加一句提示:实际使用时把【】替换为”[]“,以后就不用这么麻烦了。
解决这个问题非常简单,只要短代码外面再套个禁止短代码的短代码即可,将下列代码添加到functions.php模板中:
// 禁止短代码 function shortcode_forbid( $atts, $content = null ) { return $content; } add_shortcode('forbid', 'shortcode_forbid');
之后用 把短代码包裹起来。
[neilian ids=]
这样短代码将不会解析运行,只会以代码的形式显示。这个办法是来自知更鸟的博客,只不过我的网站没有插入视频短代码,所以用内链短代码给大家演示,道理是一样的。
这个方法的原理就是,当 WordPress 解析带有短代码的内容时,会先运行内部的短代码,然后将结果作为参数传递给shortcode_forbid()函数。因为shortcode_forbid()函数只是简单地返回传入的内容,所以输出的结果不包含被禁用的短代码。