функция
since 4.8.0
_wp_delete_customize_changeset_dependent_auto_drafts()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
_wp_delete_customize_changeset_dependent_auto_drafts( int $post_id )
Описание
Удаляет авточерновики записей, связанные с переданным набором изменений.
Параметры
$post_id
int
обязательный
ID записи для customize_changeset.
Исходный код
wp-includes/nav-menu.php:1182
function _wp_delete_customize_changeset_dependent_auto_drafts( $post_id ) {
$post = get_post( $post_id );
if ( ! $post || 'customize_changeset' !== $post->post_type ) {
return;
}
$data = json_decode( $post->post_content, true );
if ( empty( $data['nav_menus_created_posts']['value'] ) ) {
return;
}
remove_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );
foreach ( $data['nav_menus_created_posts']['value'] as $stub_post_id ) {
if ( empty( $stub_post_id ) ) {
continue;
}
if ( 'auto-draft' === get_post_status( $stub_post_id ) ) {
wp_delete_post( $stub_post_id, true );
} elseif ( 'draft' === get_post_status( $stub_post_id ) ) {
wp_trash_post( $stub_post_id );
delete_post_meta( $stub_post_id, '_customize_changeset_uuid' );
}
}
add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );
}
История изменений
| Версия | Описание |
|---|---|
| 4.8.0 | Introduced. |

