[经验]8 个实用的WordPress 程序代码(Code Snippets)

文参考资料为Eight Useful Code Snippets for WordPress ,已取得原作者Kevin Muldoon授权。

8 个实用的WordPress 程式码(Code Snippets)

网路上仍有一些WordPress 网站尚未做任何修改。增强或修改网站功能最常见的作法是安装WordPress 外挂,然而功能也可以直接被加入布景主题档案中。事实上,大多数WordPress 布景主题包含functions 档案可以修改WordPress 某些现有的功能。

原始码片段(Code Snippets)是一小段的程式码,可以直接加入到你的布景主题档案中。有时候它们包含了完整功能,其他时候它们可以用来修改一些现有功能。
 

在这篇文章里,我想告诉你八个实用且能增强WordPress功能的原始码片段。我已在预设的布景主题Twenty Fourteen测试过所有的原始码,皆能正常运作,请注意,如果你的布景主题已经过大量修改(特别当它是一个框架),有些功能可能就无法正常使用。

1. 清空你的回收桶

为了安全起见,WordPress 会保存所有你删除的文章、页面和回响;除非你进入回收桶功能,将它们永久删除。回收桶的运作方式类似于Windows 里的资源回收桶。

WordPress 每隔三十天会自动清理你的回收桶,将以下程式码加入你的wp-config.php 档案可以调整时间间隔(这个档案位于你的WordPress 根目录):

define ('EMPTY_TRASH_DAYS', 7);

如果你想进一步最佳化你的资料库,避免将不要的项目储存在资料库里,你可以透过以下的程式码来停用回收桶功能,一样是加入wp-config.php 档案:

define ('EMPTY_TRASH_DAYS', 0);

来源

 

2. 减少文章版本

WordPress 文章版本功能(Revision)会在使用者每次储存文章和页面草稿时自动产生一个版本。这个功能对于部落客来说很重要,因为它可以随时返回到早先的草稿,即便是你在编辑时发生任何错误。

不幸的是,WordPress 预设的文章版本并没有总量限制,过多的草稿将会占用你资料库许多容量。这也意味着当长篇大论被储存一百次时,也会占用资料表一百行的空间。

为了解决这个问题,你可以将以下程式码加入wp-config.php 来减少文章版本的数量,给它一个合理的数量:

define( 'WP_POST_REVISIONS', 3 );

如果你希望完全停用文章版本功能,只需要将以下程式码加入wp-config.php 档案:

define( 'WP_POST_REVISIONS', false );

来源

此外,WordPress 会每60 秒自动储存你的文章和页面,透过以下程式码可以修改自动储存的时间间隔,一样是把它加入你的wp-config.php 档案:

define( 'AUTOSAVE_INTERVAL', 160 ); // 秒数

 

3. 搬移你的WP-Content 目录

wp-content 目录包含你的布景主题、外挂和上传的图片。某些外挂,例如快取外挂,也会使用wp-content 目录来储存资料。

有鉴于此,wp-content 目录时常成为黑客下手的目标,特别是插入恶意程式码至你的布景主题。你可以将wp-content 目录搬移到其他地方,使它更难以被找到。

如果你想要简单地将wp-content 目录移动到其他路径,你可以将以下程式码加入你的wp-config.php 档案:

* 注意:wp-content 目录结尾没有斜线。

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/newlocation/wp-content' );

如果你愿意,你也可以使用URL 来定义新的路径:

define( 'WP_CONTENT_URL', 'http://www.yourwebsite.com/newlocation/wp-content' );

WordPress 也允许你重新命名你的wp-content 目录:

define ('WP_CONTENT_FOLDERNAME', 'newfoldername');

重新命名你的wp-content 目录可以使WordPress 网站更加安全,但很不幸的是并非100% 可行,因为很多WordPress 外挂开发者已将“wp-content” 路径写死在外挂的程式码里。如果安全是首要目标,那还是值得一试的,但必须知道有些外挂的程式码可能必须要手动更新(而且必须在每次更新外挂时重新做一次)。

来源

 

4. 将作者页面链结重新导向「关于」页面

作者汇整页面链结会列出该作者曾经写过的所有文章,并显示于同一个页面里。有时候作者的「关于我」也会一并显示于页面顶部。

如果你运行的是单人部落格,那么无须使用作者页面来显示和分类或汇整页面相同的内容。更好的作法是直接把作者页面链结连结到你的「关于」页面。

你可以将以下程式码加入布景主题的functions.php 档案:

add_filter( 'author_link', 'my_author_link' );
function my_author_link() {
return home_url( 'about' );
}

来源

 

5. 当搜寻结果只有一篇文章时自动连到文章

每当执行搜寻时,WordPress 会列出所有与搜寻关键字相关的文章和页面列表。使用者可以点选他们想阅读的内容。

如果搜寻结果只有一个,那搜寻结果页面是多余的。干脆直接把读者重新导向至该篇文章。

你可以将以下程式码加入布景主题的functions.php 档案:

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. 将页面从WordPress 搜寻结果排除

典型的部落格可能有数百篇甚至是数千篇的文章,但只有少数几个页面。这些页面往往是你网站的重要内容,例如关于页面或是联系页面;总会显示于侧边栏或是网页底部。因此,在搜寻结果里可以排除页面,因为这可能不是读者想要搜寻的内容。

将页面从搜寻结果移除也是对访客隐藏私人页面的方法。举例来说,你的邮件订阅页面或你的电子书下载页面。

将以下程式码加入布景主题的functions.php 档案,搜寻结果就只会显示文章:

function filter_search($query) {
 if ($query->is_search) {
 $query->set('post_type', 'post');
 }
 return $query;
}
add_filter('pre_get_posts', 'filter_search');

 

7. 从你的回响表单移除网址栏位

我最近提到如何减少WordPress垃圾留言。这里提供另外一个技巧,你可以用它来减少人工垃圾回响:移除网址栏位。这么做将可以大幅降低部落格收到品质低落的回响。

要移除网址栏位,你必须做的是将以下程式码加入布景主题的functions.php 档案:

function remove_comment_fields($fields) {
 unset($fields['url']);
 return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

来源

 

8. 为回复内容设定最少字数限制

另一个恼人的事情是有些回复者会留下简短、毫无意义的回覆。例如“谢谢”、”好文”和”真棒!”之类的内容,这些内容对于讨论并没有帮助。如果你不希望从你的回响表单移除网址栏位,你也许可以为回响内容设定最少字数限制。

你可以透过将以下程式码加入布景主题的functions.php 档案来实现这项功能。请务必将 $minimalCommentLength 后方的数字改为你想自订的最少字元数。(编按:不确定中文有没有问题。)

add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
 $minimalCommentLength = 20;
 if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
 wp_die( '所有留言必须大于' . $minimalCommentLength . ' 个字元长度。' );
 }
 return $commentdata;
}

来源

我希望你会喜欢这8 个实用的WordPress 原始码片段。

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:[经验]8 个实用的WordPress 程序代码(Code Snippets)