添加后台html编辑按钮

有人喜欢在本地写好后到wp后台发布,有人喜欢直接使用wordpress后台写文章。我个人习惯在本地写好后上传发布,但是偶尔也会在后台用html模式写文章,可是WP默认的按钮太少了,而自己又添加了很多shortcode。

修改方法:

wp的按钮定义在wp-includes下的quicktags.js文件里,但是直接修改核心代码太过危险了,我们可以自定义一个diy-quicktags.js并在functions.php里注册引入这个js就行了。

自定义js文件:

新建一个文件diy-quicktags.js,编辑内容:

QTags.addButton( '<', '<', '<', '' );
QTags.addButton( '>', '>', '>', '' );
QTags.addButton( 'hr', 'hr', "\n<hr />\n", '' );
QTags.addButton( 'h1', 'h1', "\n<h1>", "</h1>\n" );
QTags.addButton( 'h2', 'h2', "\n<h2>", "</h2>\n" );
QTags.addButton( 'h3', 'h3', "\n<h3>", "</h3>\n" );
//这儿共有四对引号,分别是按钮的ID、显示名、点一下输入内容、再点一下关闭内容(此为空则一次输入全部内容),\n表示换行。
注册js文件:

打开主题下的functions.php文件,添加:

/**
 * 注册后台HTML编辑器按钮添加JS到WP
 * 需要添加的按钮在diy-quicktags.js里修改
 */
function diy_quicktags() {
    wp_register_script('diyquicktagsJS',get_stylesheet_directory_uri().'/diy-quicktags.js',array('quicktags'));
    wp_enqueue_script('diyquicktagsJS');
}
add_action('admin_print_scripts', 'diy_quicktags');

关闭wordpress写文章的版本功能

在wordpress后台写文章的时候,wordpress会定时保存文章为草稿,避免突发情况造成文字丢失。默认为60秒。
每次修改文章后,wordpress都会存储上一版本到数据库,如果修改的频繁,会发现有几十个旧版本,这些旧版本没有存在的必要还占用数据库。
wordpress后台可以直接修改主题的代码,这个功能很方便,但是也很危险,一个失误就可能导致wordpress无法打开,禁用掉这功能,在本地编辑测试后上传的方法更安全。
打开wordpress目录下的wp-config.php文件:
通过修改 WP_POST_REVISIONS,AUTOSAVE_INTERVAL,DISALLOW_FILE_EDIT函数来控制,代码如下:

/**
 * 版本修订功能设置
 * WP_POST_REVISIONS 的数值表示存储的版本数量,false 为禁用版本修订功能。
 * AUTOSAVE_INTERVAL为自动保存间隔时间(秒,默认设置为60秒)。
 * 如需禁用此功能,请移除或注释掉。
 */
define('WP_POST_REVISIONS', 2);
define('AUTOSAVE_INTERVAL', 120);
/**
 * 禁止Wordpress后台的主题编辑功能
 * 可以避免后台错误修改后造成的网站无法访问。
 * 如需禁用,请移除或注释掉本行。
 */
define('DISALLOW_FILE_EDIT', true);

让中文版wordpress显示英文的日期格式

使用不同的wp主题的时候,需要显示的日期格式也不一样,比如使用某些外国主题的时候,使用中文语言包里设置,中文的月份显示会让整个版面不协调,比如下面这个:
2014-10-13-3
有的需要修改成数字就可以了:
2014-10-13-4
修改方法:
搜索get_the_time函数,修改the_time(“M“)为想要的格式,
2014-10-13-5
这种方法可以把中文的比如“五月”改成“05”,另一个问题又来了,如果想显示“May”怎么办?
两个办法:用poedit修改zh_CN.po里边,把汉化翻译改掉,这方法比较麻烦
另一个方法就是重新定义PHP的date函数来避开汉化:

/*使用get_the_time('U')获取时间戳
 *然后用date函数重新输出
 */
echo date('M',get_the_time('U')); 

各取数的定义如下:

a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"

不用插件实现代码语法高亮

对于使用wordpress写博客的人来说,代码高亮是一个常见也必须的功能了,wp本身code的功能不支持,需要安装插件来达到高亮的效果,这类的插件也非常多。像Crayon Syntax HighlighterSyntaxHighlighter Evolved等等,使用很方便,效果也很好。但是对于不喜欢使用插件,或者只是需要高亮效果不用太复杂功能的人来说,使用JavaScript就可以达到不需要插件就能显示高亮。
继续阅读 “不用插件实现代码语法高亮”

更换谷歌字体库解决fonts.googleapis.com加载慢

360网站卫士CDN驱动的常用前端公共库关闭,方法已失效

现在很多Wordpress的主题中都调用了google字体库(fons.googleapis.com)的字体,特别是国外主题基本所有的都调用了google字体库,在天朝的网络环境下,导致网站打开速度超级慢。
2014-09-0012
好在360帮我们想到了这个问题,我们可以使用:360网站卫士常用前端公共库CDN服务
提供了由360网站卫士CDN驱动的常用前端公共库以及和谐使用Google公共库、字体库的调用方法

继续阅读 “更换谷歌字体库解决fonts.googleapis.com加载慢”