看到Elegantthemes 上的这篇文章不错,索性半翻译半修改过来。这里介绍了WordPress 中八个有用的代码片段,都是用来优化WordPress 的,不少是添加到wp-config.php 文件的。
1、自动清空文章“回收站”时间间隔
默认的话,WordPress 对于删除到“回收站”的文章是每隔30 天予以清空(原文如此说,貌似没有吧?),如果你嫌时间过长,可以通过wp-config.php 自定义设置,如下面的代码设置删除间隔为 7天:
1
|
define ('EMPTY_TRASH_DAYS', 7);
|
或者直接不用经过回收站,一次性删除干净:
1
|
define ('EMPTY_TRASH_DAYS', 0);
|
2、减少文章历史版本
忘记从哪个版本开始的“WordPress 版本控制”功能对许多用户来说就是累赘,每隔一段时间就自动保存文章草稿,看似便捷下无形中为数据库添加了许多亢余数据。通过在wp-config.php 添加下面的代码,你可以减少自动保存次数:
1
|
define( 'WP_POST_REVISIONS', 3 );
|
甚至,你可以禁止这个功能:
1
|
define( 'WP_POST_REVISIONS', false );
|
3、移动 WP-Content 文件夹
WordPress 的WP-Content 文件夹专门是提供上传文件夹、主题文件、插件文件等,也因为这个原因,常常会成为黑客觊觎的对象。通过下面的代码,你可以将WP-Content 文件夹移动到其他地方(在wp-config.php 写入):
1
|
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/newlocation/wp-content' );
|
或者:
1
|
define( 'WP_CONTENT_URL', 'http://www.yourwebsite.com/newlocation/wp-content' );
|
甚至,你可以重命名这个WP-Content 文件夹名,WordPress 中已经提供了这个函数,你需要这么做:
1
|
define ('WP_CONTENT_FOLDERNAME', 'newfoldername');
|
4、将“作者文章列表”链接跳转到about 页面
详细解释见《WordPress重定向作者归档链接到“关于”页面》,代码如下:
1
2
3
4
5
|
add_filter( 'author_link', 'my_author_link' );
function my_author_link() {
return home_url( 'about' );
}
|
5、搜索结果只有一篇文章时自动跳转到文章
详细解释见《 WordPress内置搜索结果只有一篇文章时自动跳转到文章》,代码如下:
1
2
3
4
5
6
7
8
9
10
|
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
exit;
}
}
}
|
6、搜索结果中排除页面的搜索结果
1
2
3
4
5
6
7
|
function filter_search($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts', 'filter_search');
|
7、移除评论表单中的url 域
这个是为了防范垃圾评论,你懂的。
1
2
3
4
5
|
function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');
|
8、强制最少评论文字字数
这个是为了防范垃圾评论+灌水评论,你懂的。
1
2
3
4
5
6
7
8
|
add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
$minimalCommentLength = 20;
if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
wp_die( 'All comments must be at least ' . $minimalCommentLength . ' characters long.' );
}
return $commentdata;
}
|
(责任编辑:最模板) |