好的,这是可能的,但这将有点棘手,我建议在部署此解决方案后进行大量测试。
免责声明:我使用base64_encode
和base64_decode
作为密码/解密函数,但您当然可以将其更改为您喜欢的任何内容。
First part (post存储在DB中之前进行编码)非常简单:
function encrypt_post_content( $data, $postarr ) {
$data[\'post_content\'] = base64_encode( $data[\'post_content\'] );
return $data;
}
add_filter( \'wp_insert_post_data\', \'encrypt_post_content\', 10, 2 );
Second part 因为WordPress使用
raw
如果使用此上下文,则不会将任何筛选器应用于post字段。。。
function decrypt_post_content( $content, $default_editor =false ) {
return base64_decode( $content );
}
add_filter( \'the_editor_content\', \'decrypt_post_content\', 10, 2 );
add_filter( \'the_content\', \'decrypt_post_content\', 1, 1 );
附:有点遗憾的是,在从DB获得post\\u内容后,不可能轻易修改它…:(