我尝试实现以下几点:默认情况下,具有自定义帖子类型的帖子应受密码保护
但我不希望这些帖子是私人的,所以我碰巧
$post->post_status = 'private';
$post->post_password = 'some_default_password';
到
$post->post_status = 'published';
$post->post_password = 'some_default_password';
但是没有密码保护
我怎样才能做到这一点?
我尝试实现以下几点:默认情况下,具有自定义帖子类型的帖子应受密码保护
但我不希望这些帖子是私人的,所以我碰巧
$post->post_status = 'private';
$post->post_password = 'some_default_password';
到
$post->post_status = 'published';
$post->post_password = 'some_default_password';
但是没有密码保护
我怎样才能做到这一点?
以下代码执行此操作,但仅在创建新帖子 (post_type) 时才有效。
如果我们不检查empty($data['post_name']),这表明正在创建一个新帖子,它会使用密码锁定所有帖子some_default_password。
基于此WordPress StackExchange Q&A 的代码。
add_filter( 'wp_insert_post_data' , 'so_13517851_filter_handler' , '99', 2 );
function so_13517851_filter_handler( $data , $postarr )
{
// creating new post and correct post_type
if( empty( $data['post_name'] ) && 'post' == $postarr['post_type'] )
$data[ 'post_password' ] = 'some_default_password';
return $data;
}