Cestina o elimina un post o una pagina.

Descrizione

Quando il post e la pagina vengono eliminati definitivamente, viene eliminato anche tutto ciò che è legato ad essi. Ciò include i commenti, i meta-campi del post e i termini associati al post.

Il post o la pagina vengono spostati nel Cestino invece di essere eliminati definitivamente, a meno che il Cestino non sia disabilitato, l'elemento sia già nel Cestino o $force_delete sia vero.

Vedere anche

  • wp_delete_attachment()
  • wp_trash_post()

Parametri

$postid

(int)(Opzionale) ID del post. Predefinito 0.

$forza_cancella

(bool)(Opzionale) Se escludere il Cestino e forzare l'eliminazione.

Valore predefinito: false

Ritorno

(WP_Post|false|null) Pubblica i dati in caso di successo, false o null in caso di fallimento.

Altre informazioni

wp_delete_post() ritorna automaticamente a wp_trash_post() se $force_delete è falso, il tipo_post di $postid è pagina oppure posta, $postid non è già nel cestino e se che cestinano la funzione abilitata (che è predefinita).

Fonte

File: wp-includes/post.php

functionwp_delete_post($postid=0,$force_delete=false){global$wpdb;$post=$wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->posts WHERE ID = %d",$postid));if(!$post){return$post;}$post=get_post($post);if(!$force_delete&&('post'===$post->post_type||'page'===$post->post_type)&&'trash'!==get_post_status($postid)&&EMPTY_TRASH_DAYS){returnwp_trash_post($postid);}if('attachment'===$post->post_type){returnwp_delete_attachment($postid,$force_delete);}/**
	 * Filters whether a post deletion should take place.
	 *
	 * @since 4.4.0
	 *
	 * @param bool|null $delete       Whether to go forward with deletion.
	 * @param WP_Post   $post         Post object.
	 * @param bool      $force_delete Whether to bypass the Trash.
	 */$check=apply_filters('pre_delete_post',null,$post,$force_delete);if(null!==$check){return$check;}/**
	 * Fires before a post is deleted, at the start of wp_delete_post().
	 *
	 * @since 3.2.0
	 * @since 5.5.0 Added the `$post` parameter.
	 *
	 * @see wp_delete_post()
	 *
	 * @param int     $postid Post ID.
	 * @param WP_Post $post   Post object.
	 */do_action('before_delete_post',$postid,$post);delete_post_meta($postid,'_wp_trash_meta_status');delete_post_meta($postid,'_wp_trash_meta_time');wp_delete_object_term_relationships($postid,get_object_taxonomies($post->post_type));$parent_data=array('post_parent'=>$post->post_parent);$parent_where=array('post_parent'=>$postid);if(is_post_type_hierarchical($post->post_type)){// Point children of this page to its parent, also clean the cache of affected children.$children_query=$wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_parent = %d AND post_type = %s",$postid,$post->post_type);$children=$wpdb->get_results($children_query);if($children){$wpdb->update($wpdb->posts,$parent_data,$parent_where+array('post_type'=>$post->post_type));}}// Do raw query. wp_get_post_revisions() is filtered.$revision_ids=$wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'revision'",$postid));// Use wp_delete_post (via wp_delete_post_revision) again. Ensures any meta/misplaced data gets cleaned up.foreach($revision_idsas$revision_id){wp_delete_post_revision($revision_id);}// Point all attachments to this post up one level.$wpdb->update($wpdb->posts,$parent_data,$parent_where+array('post_type'=>'attachment'));wp_defer_comment_counting(true);$comment_ids=$wpdb->get_col($wpdb->prepare("SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d",$postid));foreach($comment_idsas$comment_id){wp_delete_comment($comment_id,true);}wp_defer_comment_counting(false);$post_meta_ids=$wpdb->get_col($wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ",$postid));foreach($post_meta_idsas$mid){delete_metadata_by_mid('post',$mid);}/**
	 * Fires immediately before a post is deleted from the database.
	 *
	 * @since 1.2.0
	 * @since 5.5.0 Added the `$post` parameter.
	 *
	 * @param int     $postid Post ID.
	 * @param WP_Post $post   Post object.
	 */do_action('delete_post',$postid,$post);$result=$wpdb->delete($wpdb->posts,array('ID'=>$postid));if(!$result){returnfalse;}/**
	 * Fires immediately after a post is deleted from the database.
	 *
	 * @since 2.2.0
	 * @since 5.5.0 Added the `$post` parameter.
	 *
	 * @param int     $postid Post ID.
	 * @param WP_Post $post   Post object.
	 */do_action('deleted_post',$postid,$post);clean_post_cache($post);if(is_post_type_hierarchical($post->post_type)&&$children){foreach($childrenas$child){clean_post_cache($child);}}wp_clear_scheduled_hook('publish_future_post',array($postid));/**
	 * Fires after a post is deleted, at the conclusion of wp_delete_post().
	 *
	 * @since 3.2.0
	 * @since 5.5.0 Added the `$post` parameter.
	 *
	 * @see wp_delete_post()
	 *
	 * @param int     $postid Post ID.
	 * @param WP_Post $post   Post object.
	 */do_action('after_delete_post',$postid,$post);return$post;}

Correlato

Utilizzi

Usi Descrizione
wp-includes/post.php: pre_delete_post

Filtra se la cancellazione di un post deve avvenire.

wp-includes/cron.php: wp_clear_scheduled_hook()

Annulla la programmazione di tutti gli eventi collegati all'hook con gli argomenti specificati.

wp-includes/taxonomy.php: wp_delete_object_term_relationships()

Disconnette l'oggetto dalla tassonomia o dalle tassonomie.

wp-includes/taxonomy.php: get_object_taxonomies()

Restituisce i nomi o gli oggetti delle tassonomie registrate per l'oggetto o il tipo di oggetto richiesto, come il nome di un oggetto post o di un tipo di post.

wp-includes/plugin.php: applica_filtri()

Richiama le funzioni di callback che sono state aggiunte a un gancio per i filtri.

wp-includes/plugin.php: do_action()

Esegue le funzioni agganciate a un gancio di azione specifico.

wp-includes/post.php: clean_post_cache()

Pulisce il post nella cache.

wp-includes/post.php: wp_delete_attachment()

Cestina o elimina un allegato.

wp-includes/post.php: wp_trash_post()

Sposta un post o una pagina nel cestino

wp-includes/post.php: prima_della_cancellazione_del_post

Si attiva prima che un post sia cancellato, all'inizio di wp_delete_post().

wp-includes/post.php: cancellare_post

Si attiva immediatamente prima che un post sia cancellato dal database.

wp-includes/post.php: post_cancellato

Si attiva subito dopo la cancellazione di un post dal database.

wp-includes/post.php: dopo_cancellazione_post

Si attiva dopo la cancellazione di un post, al termine di wp_delete_post().

wp-includes/post.php: delete_post_meta()

Cancella un campo meta del post per l'ID del post dato.

wp-includes/post.php: get_post()

Recupera i dati di un post, dato un ID o un oggetto post.

wp-includes/post.php: get_post_status()

Recupera lo stato del post in base all'ID del post.

wp-includes/post.php: is_post_type_hierarchical()

Se il tipo di post è gerarchico.

wp-includes/revision.php: wp_delete_post_revision()

Cancella una revisione.

wp-includes/wp-db.php: wpdb::get_row()

Recupera una riga dal database.

wp-includes/wp-db.php: wpdb::get_results()

Recupera un intero insieme di risultati SQL dal database (cioè molte righe).

wp-includes/wp-db.php: wpdb::update()

Aggiorna una riga nella tabella.

wp-includes/wp-db.php: wpdb::get_col()

Recupera una colonna dal database.

wp-includes/wp-db.php: wpdb::delete()

Cancella una riga nella tabella.

wp-includes/wp-db.php: wpdb::prepare()

Prepara una query SQL per un'esecuzione sicura.

wp-includes/comment.php: wp_defer_comment_counting()

Se rinviare il conteggio dei commenti.

wp-includes/comment.php: wp_delete_comment()

Cestina o cancella un commento.

wp-includes/meta.php: delete_metadata_by_mid()

Cancella i metadati per ID di meta.

Usato da

Usato da Descrizione
wp-admin/includes/class-wp-privacy-requests-table.php: WP_Privacy_Requests_Table::process_bulk_action()

Elabora le azioni di massa.

wp-includes/class-wp-customize-manager.php: WP_Customize_Manager::handle_dismiss_autosave_or_lock_request()

Cancella un determinato changeset autodraft o la revisione autosave per un determinato changeset o cancella il blocco del changeset.

wp-includes/class-wp-customize-manager.php: WP_Customize_Manager::trash_changeset_post()

Cestina o cancella un post modificato.

wp-includes/nav-menu.php: _wp_delete_customize_changeset_dependent_autodrafts()

Elimina i post autodraft associati al changeset fornito.

wp-includes/class-wp-customize-manager.php: WP_Customize_Manager::save_changeset_post()

Salva il post per il changeset caricato.

wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php: WP_REST_Revisions_Controller::delete_item()

Cancella una singola revisione.

wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php: WP_REST_Posts_Controller::delete_item()

Cancella un singolo post.

wp-includes/customize/class-wp-customize-nav-menu-item-setting.php: WP_Customize_Navu_Menu_Item_Setting::update()

Crea/aggiorna il post nav_menu_item per questa impostazione.

wp-admin/includes/ms.php: wpmu_delete_user()

Elimina un utente dalla rete e lo rimuove da tutti i siti.

wp-admin/includes/user.php: wp_delete_user()

Rimuove l'utente e può riassegnare i post e i link a un altro utente.

wp-admin/includes/ajax-actions.php: wp_ajax_save_attachment()

Gestore Ajax per l'aggiornamento degli attributi degli allegati.

wp-admin/includes/ajax-actions.php: wp_ajax_delete_post()

Gestore Ajax per la cancellazione di un post.

wp-admin/includes/ajax-actions.php: wp_ajax_delete_page()

Gestore Ajax per cancellare una pagina.

wp-admin/includes/nav-menu.php: _wp_delete_orphaned_draft_menu_items()

Elimina le voci di menu orfane di bozza

wp-admin/includes/nav-menu.php: wp_nav_menu_update_menu_items()

Salva le voci del menu nav

wp-includes/functions.php: wp_scheduled_delete()

Elimina definitivamente i commenti o i post di qualsiasi tipo che hanno mantenuto uno stato di "spazzatura" per il numero di giorni definito in EMPTY_TRASH_DAYS.

wp-includes/post.php: wp_delete_auto_drafts()

Elimina le bozze automatiche per i nuovi post che hanno più di 7 giorni.

wp-includes/post.php: wp_trash_post()

Sposta un post o una pagina nel cestino

wp-includes/revision.php: wp_delete_post_revision()

Cancella una revisione.

wp-includes/nav-menu.php: _wp_delete_post_menu_item()

Richiamo per gestire una voce di menu quando il suo oggetto originale viene cancellato.

wp-includes/nav-menu.php: _wp_delete_tax_menu_item()

Serve come callback per gestire una voce di menu quando il suo oggetto originale viene cancellato.

wp-includes/nav-menu.php: wp_delete_nav_menu()

Elimina un menu di navigazione.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc-server::blogger_deletePost()

Rimuove un post.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc-server::wp_deletePage()

Cancella la pagina.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::wp_deletePost()

Cancella un post per qualsiasi tipo di post registrato.

Changelog

Versione Descrizione
1.0.0 Introdotto.