发布时设置自动加密

极个别情况会发一下私密的东西,有时疏忽会忘记设置私密,以下代码可以实现在特定形式在发布时自动设置私密的功能,这段代码在浏览器上是生效的,在 WordPress APP 上却无法正常工作,不知何故,已支持 WordPress APP,之前的问题在于使用get_post_format()获取日志格式未加参数$post_id,加上参数即可,更新后的代码如下:

// aside 形式发布时自动置为私密
function set_post_to_private( $data, $postarr ) {
$brave_post_format = get_post_format($postarr['ID']);
if ( $brave_post_format === 'aside' && $data['post_status'] === 'publish' ) {
$data['post_status'] = 'private'; // 发布时状态设置为私密
}
return $data;
}
add_filter( 'wp_insert_post_data', 'set_post_to_private', 10, 2 );

参考:wp_insert_post_data

发表评论

评论(6)

  1. wys via Safari 14

    不是说办法总比问题多的嘛?再找找,钱铺地,一定能走出当前的困境~

    1. 秩秩斯干

      @wys 不是很迫切,慢慢弄吧

  2. 叶开楗 via Chrome 94

    可以这样啊,以前没加密过,没体验过。

    1. 秩秩斯干

      @叶开楗 这功能没什么用,纯粹兜底的

  3. Yan via Safari 15

    app不调用function吧,用的好像是xml rpc?
    我有一些插件也想实现app上传时自动起作用。无果。

    1. 秩秩斯干

      @Yan 试了一下确实很这个问题