使用 iOS 的快捷指令发布 WordPress 日志

意思就是利用 iOS 的快捷指令发日志,不用装 WordPress APP,并且还能实现一些有意思的功能。原理是利用 iOS 的快捷指令调用 WordPress 的 REST API 日志接口。

只需要动手做两个一次性的配置即可

第一步,创建用于验证的应用程序密码

  1. 登录 WordPress 后台,在【用户】-【个人资料】页面找到【应用程序密码】,在【新的应用程序密码名称】下方的文本框里随便输入一个标记名称,点下方的【添加新的应用程序密码】按钮,此时,WordPress 会为刚输入的名称创建一个密码,这个密码是接下来用来验证 REST-API 接口的;
  2. 把刚刚创建的密码记下来,去掉空格,在密码前面加上当前登录的 WordPress 用户名以冒号隔开,比如我登录 WordPress 后台的用户名是root,刚刚创建的应用程序密码是gttc Pvt4 OTD1 8HiE Q3x0 w9pv,处理后就是root:gttcPvt4OTD18HiEQ3x0w9pv
  3. 将上一步得到的这串文本进行 Base64 编码,搜一下【base64在线编码】转一下。拿到转换后的文本串,在最前面加上Basic中间加个空格(得到类似这样的文本串Basic cm9vdDpndHRjUHZ0NE9URDE4SGlFUTN4MHc5cHY=),至此,第一步的准备工作已经完成。

第二步,配置快捷指令的接口地址和验证信息

  1. 点后方链接安装本人分享的快捷指令:https://www.icloud.com/shortcuts/2779823e2c724396ad4dd9dfbf43e24e
  2. 点快捷指令右上角的三个点,进入编辑状态,往下滑找到里面有个url键的【词典】块,将url后面的 url 地址改成你自己的,就是你的域名加上/?rest_route=/wp/v2/posts,比如我的就是
    https://域名.com/?rest_route=/wp/v2/posts
  3. 词典下面那个块是【网络】,展开,【头部】下面有个Authorization的键,后面的值用第一步准备好的那串 Base64 文本串替换掉,点右上角的【完成】,大功告成。

接下来,就可以点刚刚的快捷指令按提示发日志了,但是慢着,看下下面的注意事项。

注意
1、这个快捷指令只能算是玩玩,不可过度依赖,受网络等不可控因素影响,若发布失败将无法保留草稿记录;
2、用这个快捷指令发日志,需要开定位服务,这个快捷指令会利用定位通过 iOS 的天气服务获取天气、GPS、所在城市等信息,记录在日志的自定义字段里;
3、REST API 日志发布接口对自定义字段的处理策略是先注册再使用,只有已注册的自字段是才会被写入到日志的字段值字段里的,下方的代码,正是用来注册上方快捷指令里的那些自定义字段的,放到主题文件的 function.php 即可。

/**
 * Register meta keys for posts
 * rest api posts 接口只能在 meta 中使用这里注册的自定义字段
 */
function register_brave_post_meta() {
	// 这些是需要注册的自定义字段
	$brave_post_meta = array('geo_latitude', 'geo_longitude', 'geo_city', 'geo_public', 'wx_weather', 'wx_temp', 'post_device_name', 'post_device_ver');
	$arg = array(
					'single'       => true,
					'type'         => 'string',
					'default'      => '',
					'show_in_rest' => true,
				);
	array_walk($brave_post_meta, function ($val, $key, $arg) {register_meta('post', $val, $arg);}, $arg);
}

add_action('init', 'register_brave_post_meta');

发表评论

评论(2)

  1. S̆̈ via Safari 17

    有意思。不过像catogary啊tag啊图片什么应该是没戏了。写个小想法应该很赞。

    1. 秩秩斯干

      @S̆̈ 记得图片是可以的,不常用就没弄。标签和分类似乎也可以的毕竟是基础功能。