没有核心(4.8.1)功能,如detach_post()
或wp_update_attachment()
但我们可以使用wp_update_post()
要分离附件,请执行以下操作:
$result = wp_update_post( [
\'ID\' => $attachment_id,
\'post_parent\' => 0, // detach
] );
if( is_wp_error( $result ) ) {
// error
} else {
// success
}
我们还可以创建助手函数(未测试):
/**
* WPSE-279554: Detach Post
*
* @param int $post_id Post ID
* @return bool $return If post was successfully detached
*/
function wpse_detach_post( $post_id )
{
// Validate input - we only want positive integers
if( ! is_int( $post_id ) || $post_id < 1 )
return false;
$result = wp_update_post( [
\'ID\' => $post_id,
\'post_parent\' => 0, // detach
] );
return ! is_wp_error( $result );
}
用法示例:
if( wpse_detach_post( $post_id ) ) {
// success
} else {
// error
}