乌徒帮技术范儿WordPressWordPress开发 › 为wordpress添加[code]形式的短代码提供文章速率

为wordpress添加[code]形式的短代码提供文章速率

分类:WordPress开发

wordpress中提供了如[code][/code]这种形式的如论坛中常用的短代码形式,我们只需要添加相应的hook函数,即可在文章编辑时使用这种方法,提供文章编辑的速率和效率。

定义一个短代码初窥

wordpress的最大好处是高度的自定义扩展,我们只需要在主题文件的functions.php中添加如下代码,即可实现一个[-download-]短代码:

function post_short_dowload($atts,$content = null) {
extract(shortcode_atts(array(
'href' => 'http://www.utubon.com',
'target' => '_blank',
'class' => 'post_short_download'
), $atts));
return '<span class="'.$class.'"><a href="'.$href.'" target="'.$target.'">'.$content.'</a></span>';
}
add_shortcode('code_download', 'post_short_dowload');

这样我们在文章中直接使用[code_download href="http://utubon.com/text.zip"]下载[/code_download]即可在浏览文章时替换为<span class='post_short_download'><a href='http://utubon.com/text.zip'下载</a></span>的形式显示在文章中,你可以自己定义post_short_code_download的css样式,实现自己的下载链接。

wordpress短代码详解

1、实现一个简单的插入代替:编辑时插入[-w-],显示时替换为“这是一段被替换出来的文字”。在主题functions.php中插入

function word() { return '这是一段被替换出来的文字';}
add_shortcode('w', 'word');

在文章中插入[w]试试看。以后我们就可以用[googlead]来在文章中插入特定的谷歌广告了。add_shortcode()函数即短代码的hook,请自己谷歌该函数的用法。

2、实现有参数的插入:如上文中[code_download?href="" title=""]下载[/code_download]这样形式的短代码,请在functions.php中插入:

function post_short_dowload($atts,$content = null) {
extract(shortcode_atts(array(
'href' => 'http://www.utubon.com',
'target' => '_blank',
'class' => 'post_short_code_download'
), $atts));
return '<span><a href="'.$href.'" target="'.$target.'">'.$content.'</a></span>';
}
add_shortcode('code_download', 'post_short_dowload');

这里对代码中的参数进行介绍:

我们要设置$atts,$content两个形参,其中$atts是这个短代码的参数列表,如href,$content是这个短代码的内容,如“下载”字样。

extract(shortcode_atts(array(
'href' => 'http://www.utubon.com',
'target' => '_blank',
'class' => 'post_short_code_download'
), $atts));

是对$atts初始化,使短代码拥有哪些参数,其实我们用这些参数传递为html标签的属性,如我们用参数href作为<a>的链接地址。

return '<span><a href="'.$href.'" target="'.$target.'">'.$content.'</a></span>';是将这些参数返回,显示的内容即这里规定,你需要将参数们按照你的想法在这里将他们实现为html代码形式。

测试:[download href="http://www.utubon.com" class="ceshi_download"]下载[/download]

在使用时的一些注意点

1、在可视化编辑中可以直接使用,无需切换到html编辑模式下;

2、每一个短代码都要写一个function和add_shortcode(),太多可能导致functions.php太大,建议只是定义一些重要的短代码;

3、可以结合其他函数、js,实现更多可爱有效的功能。

填写个人信息,赶快回复吧!