有时候,我们希望我们的网站更加美观,文章中的文字布局更加优美。
而wordpress默认的文本编辑器,支持标签功能,我们可以通过css来实现各种各样漂亮的页面效果。
首先让大家看下效果:
世界之大,再远也只是天涯。
举例,我们在写新文章时有可视化和文本两种选择,切换到文本模式下,编写如下代码:
那么查看文章时就会发现,网站文字自动变成了蓝色的字体:
欢迎来到夏之冰雪的世界
但是这种方法有一个缺点就是,每次都要自己手动输入代码,来实现具体的展示效果。若我们想实现一个很漂亮的样式效果,可能需要一段复杂的css来实现,这样就显得比较麻烦。更一般的,在写新文章时,我们可能经常会用到这个样式效果,麻烦可想而知。
由于wordpress本身的强大和灵活,我们有一种很简单的解决方案,即add_shortcode方法。
WordPress Shortcode 指的是一些使用[]包含的短代码.
WordPress会识别这些短代码并根据短代码的定义输出为特定的内容。
shortcode 支持封闭标签和自闭(自动封闭)标签,并且支持在标签内使用参数,至于 shortcode 具体是何种形式,这就决定于开发者怎样编写这个 shortcode 了。
一般常用的方式如下:
title为标签内部传递的参数,Some Content则为标签包含的文本内容。
具体实现如下:
{
//使用 extract 函数解析标签内的参数
//下面直接调用$加上参数名输出参数值
extract(shortcode_atts(array("title"=>'my title'), $atts));
// 返回内容
return '
<div class="myshortcode">
<h3>'. $title .'</h3>
'. $content .'
</div>
';
}
//注册该shortcode,以后使用[test]标签调用该shortcode即可
add_shortcode("test", "myshortcode_function");
将上面的代码添加到functions.php中,一个简单地shortcode就完成了。以后我们写文章的时候,可以直接调用即可:
接下来,我们开始实现精美的文本提示框,一共需要四步。
1. 添加css样式如下,保存到当前模板目录的style.css文件下:
color: #7da33c;
background: #ecf2d6 url('images/sc_notice.png') -1px -1px no-repeat;
border: 1px solid #aac66d;
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
}
2. 在wp-includes/shortcodes.php中生成相应的方法:
function toz($atts, $content=null){
return '<div id="sc_notice">'.$content.'</div>';
}
add_shortcode('v_notice','toz');
function toa($atts, $content=null){
return '<div id="sc_error">'.$content.'</div>';
}
add_shortcode('v_error','toa');
function toc($atts, $content=null){
return '<div id="sc_warn">'.$content.'</div>';
}
add_shortcode('v_warn','toc');
function tob($atts, $content=null){
return '<div id="sc_tips">'.$content.'</div>';
}
add_shortcode('v_tips','tob');
3. 在wp-includes/functions.php中引用方法:
我们需要在functions文件起始位置加入:
/**
* Main WordPress API
*
* @package WordPress
*/
require( ABSPATH . WPINC . '/option.php' );
在编写文章的时候,按照这样的格式写:
[notice]你想要展示的文字[/notice]
至此,一个自定义的文字提示框实现了。
haoxinqing
赞!