久青草国产观看在线视频,在线观看欧美日女,777毛片,亚洲国产精品99久久久久久久

WordPress刪除文章函數:wp_delete_post

2016-10-16 wordpress函數
  • 文章介紹
  • 快速入門
  • 評價&建議

描述

wordpress 刪除一篇文章,附件,或者頁面。

當在文章或頁面使用這個函數的時候,所有依賴這個文章或頁面的內容也將被刪除。包括評論,自定義字段,和文章與類別的關系

使用方法

  1. <?php?wp_delete_post(?$postid,?$force_delete?);??>

參數

$postid

(整形)(可選) 文章 ID.

默認: 0

$force_delete

(布爾型) (可選) 是否繞過回收站箱直接刪除 (在 WordPress 2.9 添加).

默認: false

返回值

混合型(mixed)

False on failure and a random wpdb object on success.

例子

刪除文章

刪除默認文章 “Hello World” 文章 ID 是 ‘1’.

  1. <?php?wp_delete_post(1);??>

源文件

wp_delete_post() 位于 wp-includes/post.php.

  1. /**
  2. ?*?Trashes?or?deletes?a?post?or?page.
  3. ?*
  4. ?*?When?the?post?and?page?is?permanently?deleted,?everything?that?is?tied?to?it?is?deleted?also.
  5. ?*?This?includes?comments,?post?meta?fields,?and?terms?associated?with?the?post.
  6. ?*
  7. ?*?The?post?or?page?is?moved?to?trash?instead?of?permanently?deleted?unless?trash?is
  8. ?*?disabled,?item?is?already?in?the?trash,?or?$force_delete?is?true.
  9. ?*
  10. ?*?@since?1.0.0
  11. ?*?@uses?do_action()?on?'delete_post'?before?deletion?unless?post?type?is?'attachment'.
  12. ?*?@uses?do_action()?on?'deleted_post'?after?deletion?unless?post?type?is?'attachment'.
  13. ?*?@uses?wp_delete_attachment()?if?post?type?is?'attachment'.
  14. ?*?@uses?wp_trash_post()?if?item?should?be?trashed.
  15. ?*
  16. ?*?@param?int?$postid?Post?ID.
  17. ?*?@param?bool?$force_delete?Whether?to?bypass?trash?and?force?deletion.?Defaults?to?false.
  18. ?*?@return?mixed?False?on?failure
  19. ?*/
  20. function?wp_delete_post(?$postid?=?0,?$force_delete?=?false?)?{
  21. ?global?$wpdb,?$wp_rewrite;
  22. ?if?(?!$post?=?$wpdb->get_row($wpdb->prepare("SELECT?*?FROM?$wpdb->posts?WHERE?ID?=?%d",?$postid))?)
  23. ??return?$post;
  24. ?if?(?!$force_delete?&&?(?$post->post_type?==?'post'?||?$post->post_type?==?'page')?&&?get_post_status(?$postid?)?!=?'trash'?&&?EMPTY_TRASH_DAYS?)
  25. ???return?wp_trash_post($postid);
  26. ?if?(?$post->post_type?==?'attachment'?)
  27. ??return?wp_delete_attachment(?$postid,?$force_delete?);
  28. ?do_action('before_delete_post',?$postid);
  29. ?delete_post_meta($postid,'_wp_trash_meta_status');
  30. ?delete_post_meta($postid,'_wp_trash_meta_time');
  31. ?wp_delete_object_term_relationships($postid,?get_object_taxonomies($post->post_type));
  32. ?$parent_data?=?array(?'post_parent'?=>?$post->post_parent?);
  33. ?$parent_where?=?array(?'post_parent'?=>?$postid?);
  34. ?if?(?'page'?==?$post->post_type)?{
  35. ???//?if?the?page?is?defined?in?option?page_on_front?or?post_for_posts,
  36. ??//?adjust?the?corresponding?options
  37. ??if?(?get_option('page_on_front')?==?$postid?)?{
  38. ???update_option('show_on_front',?'posts');
  39. ???delete_option('page_on_front');
  40. ??}
  41. ??if?(?get_option('page_for_posts')?==?$postid?)?{
  42. ???delete_option('page_for_posts');
  43. ??}
  44. ??//?Point?children?of?this?page?to?its?parent,?also?clean?the?cache?of?affected?children
  45. ??$children_query?=?$wpdb->prepare("SELECT?*?FROM?$wpdb->posts?WHERE?post_parent?=?%d?AND?post_type='page'",?$postid);
  46. ??$children?=?$wpdb->get_results($children_query);
  47. ??$wpdb->update(?$wpdb->posts,?$parent_data,?$parent_where?+?array(?'post_type'?=>?'page'?)?);
  48. ?}?else?{
  49. ??unstick_post($postid);
  50. ?}
  51. ?//?Do?raw?query.??wp_get_post_revisions()?is?filtered
  52. ?$revision_ids?=?$wpdb->get_col(?$wpdb->prepare(?"SELECT?ID?FROM?$wpdb->posts?WHERE?post_parent?=?%d?AND?post_type?=?'revision'",?$postid?)?);
  53. ?//?Use?wp_delete_post?(via?wp_delete_post_revision)?again.??Ensures?any?meta/misplaced?data?gets?cleaned?up.
  54. ?foreach?(?$revision_ids?as?$revision_id?)
  55. ??wp_delete_post_revision(?$revision_id?);
  56. ?//?Point?all?attachments?to?this?post?up?one?level
  57. ?$wpdb->update(?$wpdb->posts,?$parent_data,?$parent_where?+?array(?'post_type'?=>?'attachment'?)?);
  58. ?$comment_ids?=?$wpdb->get_col(?$wpdb->prepare(?"SELECT?comment_ID?FROM?$wpdb->comments?WHERE?comment_post_ID?=?%d",?$postid?));
  59. ?if?(?!?emptyempty($comment_ids)?)?{
  60. ??do_action(?'delete_comment',?$comment_ids?);
  61. ??foreach?(?$comment_ids?as?$comment_id?)
  62. ???wp_delete_comment(?$comment_id,?true?);
  63. ??do_action(?'deleted_comment',?$comment_ids?);
  64. ?}
  65. ?$post_meta_ids?=?$wpdb->get_col(?$wpdb->prepare(?"SELECT?meta_id?FROM?$wpdb->postmeta?WHERE?post_id?=?%d?",?$postid?));
  66. ?if?(?!emptyempty($post_meta_ids)?)?{
  67. ??do_action(?'delete_postmeta',?$post_meta_ids?);
  68. ??$in_post_meta_ids?=?"'"?.?implode("',?'",?$post_meta_ids)?.?"'";
  69. ??$wpdb->query(?"DELETE?FROM?$wpdb->postmeta?WHERE?meta_id?IN($in_post_meta_ids)"?);
  70. ??do_action(?'deleted_postmeta',?$post_meta_ids?);
  71. ?}
  72. ?do_action(?'delete_post',?$postid?);
  73. ?$wpdb->query(?$wpdb->prepare(?"DELETE?FROM?$wpdb->posts?WHERE?ID?=?%d",?$postid?));
  74. ?do_action(?'deleted_post',?$postid?);
  75. ?if?(?'page'?==?$post->post_type?)?{
  76. ??clean_page_cache($postid);
  77. ??foreach?(?(array)?$children?as?$child?)
  78. ???clean_page_cache($child->ID);
  79. ??$wp_rewrite->flush_rules(false);
  80. ?}?else?{
  81. ??clean_post_cache($postid);
  82. ?}
  83. ?wp_clear_scheduled_hook('publish_future_post',?array(?$postid?)?);
  84. ?do_action('after_delete_post',?$postid);
  85. ?return?$post;
  86. }
7 0

企業建站推薦正版商業主題,國內專業團隊開發,完善售后,是您不二選擇。

正版主題商店

主題貓WP建站,累計幫助1300+客戶成功建站,為站長提供支持!

立刻開啟你的建站之旅
QQ在線客服

服務熱線

wordpress建站咨詢