Jekyll Wordpress Sync - Wordpress插件的提交跟踪
Jekyll Wordpress Sync 是一个可以导入Jekyll文章的Wordpress插件
插件地址: github.com/kyshel/jekyll-wordpress-sync
详细信息: JWS - 一个可同步Jekyll文章的Wordress插件
本文主要记录该插件的提交情况。
2017-02-14
我于2月14号提交插件,原插件名为Jekyll-Wordpress-Sync,提交的时候被告知名字中不能带有Wordpress,所以我把名字改成了Jekyll-WP-Sync
2017-02-16
收到了wordpress.org的第一封邮件,内容如下:
第一封邮件截图
他说插件名字有问题,我不能代表Jekyll,所以不能以Jekyll开头,我又把名字改成了WP-Jekyll-Sync,重新提交。
2017-02-17 12:08
收到第二封邮件,内容如下:
第二封邮件截图
他提出了3个问题:
- 插件函数名应该唯一,在kutil.php中,我定义的kbn,kgreen,kred都不合理
- 应该禁止对插件文件的直接访问,来避免安全问题
- 应该为POST请求加入nonce字段,来预防未授权的访问。
可以看出Wordpress插件团队还是相当有耐心来review提交的代码,我也解决关于使用PHP的一个困惑:用url直接访问文件是否会有问题,从邮件来看,问题还不小。
对于上面3个问题,我的应对方法:
1.删除kutil.php,它是方便我调试程序写的临时函数,现在可以去掉。
2.按邮件中说的,在每个文件顶端加入:
if(!defined('ABSPATH')) exit; // Exit if accessed directly
3.加上nonce字段,form直接加入 wp_nonce_field( 'delete-comment_'.$comment_id );
ajax的话如下所示:
<script type="text/javascript">
jQuery(document).ready(function($){
var data = {
action: 'my_action',
security: '<?php echo wp_create_nonce( "my-special-string" ); ?>',
my_string: 'Hello World!'
};
$.post(ajaxurl, data, function(response) {
alert("Response: " + response);
});
});
</script>
目前正在修改中~