2003-10-26 15:34:24 -05:00
|
|
|
<?php
|
2008-08-16 03:27:34 -04:00
|
|
|
/**
|
|
|
|
* Edit post administration panel.
|
|
|
|
*
|
|
|
|
* Manage Post actions: post, edit, delete, etc.
|
|
|
|
*
|
|
|
|
* @package WordPress
|
|
|
|
* @subpackage Administration
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** WordPress Administration Bootstrap */
|
2013-09-24 20:18:11 -04:00
|
|
|
require_once( dirname( __FILE__ ) . '/admin.php' );
|
2003-10-26 15:34:24 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$parent_file = 'edit.php';
|
2006-05-18 02:49:22 -04:00
|
|
|
$submenu_file = 'edit.php';
|
2003-12-18 04:36:13 -05:00
|
|
|
|
2013-02-16 13:28:41 -05:00
|
|
|
wp_reset_vars( array( 'action' ) );
|
2006-04-19 04:02:16 -04:00
|
|
|
|
2019-02-06 23:12:51 -05:00
|
|
|
if ( isset( $_GET['post'] ) && isset( $_POST['post_ID'] ) && (int) $_GET['post'] !== (int) $_POST['post_ID'] ) {
|
|
|
|
wp_die( __( 'A post ID mismatch has been detected.' ), __( 'Sorry, you are not allowed to edit this item.' ), 400 );
|
|
|
|
} elseif ( isset( $_GET['post'] ) ) {
|
2019-07-01 08:52:01 -04:00
|
|
|
$post_id = (int) $_GET['post'];
|
2017-11-30 18:11:00 -05:00
|
|
|
} elseif ( isset( $_POST['post_ID'] ) ) {
|
2019-07-01 08:52:01 -04:00
|
|
|
$post_id = (int) $_POST['post_ID'];
|
2017-11-30 18:11:00 -05:00
|
|
|
} else {
|
2019-07-01 08:52:01 -04:00
|
|
|
$post_id = 0;
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
2019-07-01 08:52:01 -04:00
|
|
|
$post_ID = $post_id;
|
2011-10-24 14:34:08 -04:00
|
|
|
|
2015-05-28 17:41:30 -04:00
|
|
|
/**
|
|
|
|
* @global string $post_type
|
|
|
|
* @global object $post_type_object
|
2019-08-04 08:28:56 -04:00
|
|
|
* @global WP_Post $post Global post object.
|
2015-05-28 17:41:30 -04:00
|
|
|
*/
|
2015-01-10 00:29:22 -05:00
|
|
|
global $post_type, $post_type_object, $post;
|
2011-10-24 14:34:08 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( $post_id ) {
|
2011-10-24 14:34:08 -04:00
|
|
|
$post = get_post( $post_id );
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
2011-10-24 14:34:08 -04:00
|
|
|
|
|
|
|
if ( $post ) {
|
2017-11-30 18:11:00 -05:00
|
|
|
$post_type = $post->post_type;
|
2011-10-24 14:34:08 -04:00
|
|
|
$post_type_object = get_post_type_object( $post_type );
|
2010-01-12 11:50:37 -05:00
|
|
|
}
|
|
|
|
|
2019-02-06 23:12:51 -05:00
|
|
|
if ( isset( $_POST['post_type'] ) && $post && $post_type !== $_POST['post_type'] ) {
|
|
|
|
wp_die( __( 'A post type mismatch has been detected.' ), __( 'Sorry, you are not allowed to edit this item.' ), 400 );
|
|
|
|
}
|
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( isset( $_POST['deletepost'] ) ) {
|
2006-04-19 04:02:16 -04:00
|
|
|
$action = 'delete';
|
2017-11-30 18:11:00 -05:00
|
|
|
} elseif ( isset( $_POST['wp-preview'] ) && 'dopreview' == $_POST['wp-preview'] ) {
|
2008-10-31 18:47:07 -04:00
|
|
|
$action = 'preview';
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
2005-04-16 12:31:38 -04:00
|
|
|
|
2009-12-01 18:28:20 -05:00
|
|
|
$sendback = wp_get_referer();
|
2011-11-14 11:59:45 -05:00
|
|
|
if ( ! $sendback ||
|
2019-07-05 01:21:56 -04:00
|
|
|
strpos( $sendback, 'post.php' ) !== false ||
|
|
|
|
strpos( $sendback, 'post-new.php' ) !== false ) {
|
2012-09-21 18:52:54 -04:00
|
|
|
if ( 'attachment' == $post_type ) {
|
|
|
|
$sendback = admin_url( 'upload.php' );
|
|
|
|
} else {
|
|
|
|
$sendback = admin_url( 'edit.php' );
|
2015-03-05 17:31:24 -05:00
|
|
|
if ( ! empty( $post_type ) ) {
|
|
|
|
$sendback = add_query_arg( 'post_type', $post_type, $sendback );
|
|
|
|
}
|
2012-09-21 18:52:54 -04:00
|
|
|
}
|
2010-01-24 15:50:50 -05:00
|
|
|
} else {
|
2017-11-30 18:11:00 -05:00
|
|
|
$sendback = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids' ), $sendback );
|
2010-01-24 15:50:50 -05:00
|
|
|
}
|
2009-12-01 18:28:20 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
switch ( $action ) {
|
|
|
|
case 'post-quickdraft-save':
|
|
|
|
// Check nonce and capabilities
|
|
|
|
$nonce = $_REQUEST['_wpnonce'];
|
|
|
|
$error_msg = false;
|
2014-03-19 21:31:15 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
// For output of the quickdraft dashboard widget
|
|
|
|
require_once ABSPATH . 'wp-admin/includes/dashboard.php';
|
2013-11-13 17:09:10 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! wp_verify_nonce( $nonce, 'add-post' ) ) {
|
|
|
|
$error_msg = __( 'Unable to submit this form, please refresh and try again.' );
|
|
|
|
}
|
2013-11-13 17:09:10 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) {
|
|
|
|
exit;
|
|
|
|
}
|
2014-01-16 15:24:13 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( $error_msg ) {
|
|
|
|
return wp_dashboard_quick_press( $error_msg );
|
|
|
|
}
|
2014-01-16 15:24:13 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$post = get_post( $_REQUEST['post_ID'] );
|
|
|
|
check_admin_referer( 'add-' . $post->post_type );
|
2013-11-13 17:09:10 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$_POST['comment_status'] = get_default_comment_status( $post->post_type );
|
|
|
|
$_POST['ping_status'] = get_default_comment_status( $post->post_type, 'pingback' );
|
2003-10-26 15:34:24 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
edit_post();
|
|
|
|
wp_dashboard_quick_press();
|
|
|
|
exit;
|
2008-02-06 16:40:52 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'postajaxpost':
|
|
|
|
case 'post':
|
|
|
|
check_admin_referer( 'add-' . $post_type );
|
|
|
|
$post_id = 'postajaxpost' == $action ? edit_post() : write_post();
|
|
|
|
redirect_post( $post_id );
|
2008-02-06 16:40:52 -05:00
|
|
|
exit();
|
2010-01-12 11:50:37 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'edit':
|
|
|
|
$editing = true;
|
2009-08-12 06:57:15 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( empty( $post_id ) ) {
|
|
|
|
wp_redirect( admin_url( 'post.php' ) );
|
|
|
|
exit();
|
|
|
|
}
|
2012-04-27 15:32:32 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post ) {
|
|
|
|
wp_die( __( 'You attempted to edit an item that doesn’t exist. Perhaps it was deleted?' ) );
|
|
|
|
}
|
2015-09-15 06:27:29 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post_type_object ) {
|
|
|
|
wp_die( __( 'Invalid post type.' ) );
|
|
|
|
}
|
2009-08-12 06:57:15 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! in_array( $typenow, get_post_types( array( 'show_ui' => true ) ) ) ) {
|
|
|
|
wp_die( __( 'Sorry, you are not allowed to edit posts in this post type.' ) );
|
|
|
|
}
|
2007-08-15 18:31:19 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
|
|
|
wp_die( __( 'Sorry, you are not allowed to edit this item.' ) );
|
|
|
|
}
|
2013-03-11 23:22:30 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( 'trash' == $post->post_status ) {
|
|
|
|
wp_die( __( 'You can’t edit this item because it is in the Trash. Please restore it and try again.' ) );
|
|
|
|
}
|
2010-01-04 11:58:43 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! empty( $_GET['get-post-lock'] ) ) {
|
|
|
|
check_admin_referer( 'lock-post_' . $post_id );
|
|
|
|
wp_set_post_lock( $post_id );
|
|
|
|
wp_redirect( get_edit_post_link( $post_id, 'url' ) );
|
|
|
|
exit();
|
|
|
|
}
|
2017-10-11 08:06:48 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$post_type = $post->post_type;
|
|
|
|
if ( 'post' == $post_type ) {
|
|
|
|
$parent_file = 'edit.php';
|
|
|
|
$submenu_file = 'edit.php';
|
|
|
|
$post_new_file = 'post-new.php';
|
|
|
|
} elseif ( 'attachment' == $post_type ) {
|
|
|
|
$parent_file = 'upload.php';
|
|
|
|
$submenu_file = 'upload.php';
|
|
|
|
$post_new_file = 'media-new.php';
|
|
|
|
} else {
|
|
|
|
if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true ) {
|
|
|
|
$parent_file = $post_type_object->show_in_menu;
|
|
|
|
} else {
|
|
|
|
$parent_file = "edit.php?post_type=$post_type";
|
|
|
|
}
|
|
|
|
$submenu_file = "edit.php?post_type=$post_type";
|
|
|
|
$post_new_file = "post-new.php?post_type=$post_type";
|
|
|
|
}
|
2012-11-20 14:46:38 -05:00
|
|
|
|
2019-01-07 15:40:50 -05:00
|
|
|
$title = $post_type_object->labels->edit_item;
|
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
/**
|
|
|
|
* Allows replacement of the editor.
|
|
|
|
*
|
|
|
|
* @since 4.9.0
|
|
|
|
*
|
|
|
|
* @param boolean Whether to replace the editor. Default false.
|
|
|
|
* @param object $post Post object.
|
|
|
|
*/
|
|
|
|
if ( apply_filters( 'replace_editor', false, $post ) === true ) {
|
|
|
|
break;
|
|
|
|
}
|
2008-01-02 20:34:11 -05:00
|
|
|
|
Editor: Merge some minor bug fixes.
There were some tweaks made to the post editor in WordPress 5.0 that hadn't been merged to `trunk`, this commit rectifies that.
Merges [43815,43816] from the 5.0 branch to trunk.
Props birgire, jorbin, abdullahramzan, adamsilverstein, mrahmadawais, airathalitov, ajitbohra, schlessera, albertomedina, aldavigdis, alexsanford1, xyfi, nitrajka, afercia, andreiglingeanu, euthelup, aduth, sumobi, anevins, azaozz, androb, andrewserong, kallehauge, nosolosw, apeatling, atimmer, arnaudban, asvinballoo, b-07, benlk, blowery, caxco93, benjamin_zekavica, kau-boy, bernhard-reiter, bcolumbia, bph, boblinthorst, bradyvercher, bpayton, brentswisher, bronsonquick, burhandodhy, icaleb, chouby, ehg, chrisvanpatten, butimnoexpert, christophherr, chriskmnds, claudiosanches, danielbachhuber, mrmadhat, danielhw, danieltj, goldsounds, dfangstrom, daniloercoli, dannycooper, nerrad, dsawardekar, davemoran118, davidherrera, dryanpress, davidsword, davisshaver, dmsnell, dlocc, diegoreymendez, dd32, dency, ocean90, donnapep, chopinbach, electricfeet, eliorivero, sewmyheadon, ericnmurphy, foobar4u, circlecube, fabs_pim, flixos90, floriansimeth, gma992, garrett-eclipse, garyj, pento, doomwaxer, revgeorge, gziolo, bordoni, hardeepasrani, helen, luehrsen, herbmiller, toro_unit, ianbelanger, iandunn, igorsch, ipstenu, ireneyoast, israelshmueli, sisanu, jd55, copons, jnylen0, jamestryon, ephoxjames, jamiehalvorson, jsnajdr, jagnew, dciso, octalmage, vengisss, jhoffm34, shenkj, audrasjb, jblz, jeremyfelt, motleydev, jipmoors, sephsekla, joemaller, joemcgill, joen, johndyer, johnjamesjacoby, joshuawold, johnny5, desrosj, jonsurrell, belcherj, sirjonathan, koke, jorgefilipecosta, shelob9, jvisick77, julienmelissas, kopepasah, kadamwhite, codebykat, ryelle, gwwar, kevinwhoffman, coderkevin, ixkaito, kjellr, obenland, lancewillett, postphotos, loicblascos, lucasstark, luigipulcini, lucaskowalski, lukepettway, mahdiyazdani, mahmoudsaeed, mkaz, tyxla, markjaquith, mapk, vindl, m-e-h, mboynes, mattheu, lonelyvegan, mtias, napy84, maurobringolf, maximebj, mayukojpn, woodent, michaelhull, mmtr86, stubgo, simison, mihai2u, mike-haydon-swo, mnelson4, mpheasant, mikeschroder, idpokute, mikeyarce, dimadin, gonzomir, milesdelliott, warmarks, munirkamal, nfmohit, nateconley, greatislander, njpanderson, notnownikki, nielslange, nikschavan, potbot, nshki, webmandesign, oskosk, pglewis, pareshradadiya-1, swissspidy, pbearne, pauldechov, psealock, paulstonier, paulwilde, pedromendonca, ptasker, peterwilsoncc, tyrannous, strategio, piersb, delawski, prtksxna, presskopp, rachelbaker, rachelmcr, rakshans1, rahmon, lamosty, youknowriad, riddhiehta02, noisysocks, deviodigital, sanchothefat, robertsky, _dorsvenabili, rohittm, magicroundabout, rmccue, welcher, ryo511, sagarprajapati, samikeijonen, scottmweaver, kluny, sharaz, giventofly76, designsimply, sstoqnov, hypest, netweb, stevehenty, stuartfeldt, sergioestevao, soean, tammie_l, karmatosed, thrijith, timgardner, timmydcrawford, tjnowell, mirucon, travislopes, truongwp, tjfunke001, vishalkakadiya, vtrpldn, walterebert, westonruter, skorasaurus, somtijds, earnjam, williampatton, willybahuaud, yoavf, zebulan, ziyaddin, abhijitrakas, andreamiddleton, csabotta, dixitadusara, etoledom, faishal, hideokamoto, imath, iseulde, j-falk, jaswrks, johnwatkins0, jomurgel, notlaura, leahkoerper, mcsf, meetjey, 0mirka00, mitogh, ephoxmogran, tacrapo, mzorz, nagayama, omarreiss, ramonopoly, rileybrook, tinkerbelly, shaileesheth, sikander, ssousa, tfrommen, yahil.
Fixes #45037.
Built from https://develop.svn.wordpress.org/trunk@44165
git-svn-id: http://core.svn.wordpress.org/trunk@43995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-14 00:12:52 -05:00
|
|
|
if ( use_block_editor_for_post( $post ) ) {
|
|
|
|
include( ABSPATH . 'wp-admin/edit-form-blocks.php' );
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! wp_check_post_lock( $post->ID ) ) {
|
|
|
|
$active_post_lock = wp_set_post_lock( $post->ID );
|
2006-02-12 02:53:23 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( 'attachment' !== $post_type ) {
|
|
|
|
wp_enqueue_script( 'autosave' );
|
|
|
|
}
|
|
|
|
}
|
2010-04-16 10:03:48 -04:00
|
|
|
|
2019-01-07 15:40:50 -05:00
|
|
|
$post = get_post( $post_id, OBJECT, 'edit' );
|
2004-10-22 10:41:01 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( post_type_supports( $post_type, 'comments' ) ) {
|
|
|
|
wp_enqueue_script( 'admin-comments' );
|
|
|
|
enqueue_comment_hotkeys_js();
|
|
|
|
}
|
2004-04-28 00:49:16 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
|
2006-05-02 18:36:06 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
break;
|
2005-12-13 14:19:56 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'editattachment':
|
|
|
|
check_admin_referer( 'update-post_' . $post_id );
|
2005-12-13 14:19:56 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
// Don't let these be changed
|
|
|
|
unset( $_POST['guid'] );
|
|
|
|
$_POST['post_type'] = 'attachment';
|
2005-12-13 14:19:56 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
// Update the thumbnail filename
|
|
|
|
$newmeta = wp_get_attachment_metadata( $post_id, true );
|
2018-12-18 16:32:48 -05:00
|
|
|
$newmeta['thumb'] = wp_basename( $_POST['thumb'] );
|
2006-11-19 02:56:05 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
wp_update_attachment_metadata( $post_id, $newmeta );
|
2006-06-24 03:34:35 -04:00
|
|
|
|
2019-01-11 01:26:50 -05:00
|
|
|
// Intentional fall-through to trigger the edit_post() call.
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'editpost':
|
|
|
|
check_admin_referer( 'update-post_' . $post_id );
|
2013-03-13 23:06:07 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$post_id = edit_post();
|
2005-02-14 04:46:08 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
// Session cookie flag that the post was saved
|
|
|
|
if ( isset( $_COOKIE['wp-saving-post'] ) && $_COOKIE['wp-saving-post'] === $post_id . '-check' ) {
|
|
|
|
setcookie( 'wp-saving-post', $post_id . '-saved', time() + DAY_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, is_ssl() );
|
|
|
|
}
|
2003-11-05 19:34:41 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
redirect_post( $post_id ); // Send user on their way while we keep working
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
exit();
|
2013-05-08 14:56:54 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'trash':
|
|
|
|
check_admin_referer( 'trash-post_' . $post_id );
|
2013-05-08 14:56:54 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post ) {
|
|
|
|
wp_die( __( 'The item you are trying to move to the Trash no longer exists.' ) );
|
|
|
|
}
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post_type_object ) {
|
|
|
|
wp_die( __( 'Invalid post type.' ) );
|
|
|
|
}
|
2013-03-11 23:22:30 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! current_user_can( 'delete_post', $post_id ) ) {
|
|
|
|
wp_die( __( 'Sorry, you are not allowed to move this item to the Trash.' ) );
|
|
|
|
}
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2019-07-01 08:52:01 -04:00
|
|
|
$user_id = wp_check_post_lock( $post_id );
|
|
|
|
if ( $user_id ) {
|
2017-11-30 18:11:00 -05:00
|
|
|
$user = get_userdata( $user_id );
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
|
|
|
/* translators: %s: user's display name */
|
2017-11-30 18:11:00 -05:00
|
|
|
wp_die( sprintf( __( 'You cannot move this item to the Trash. %s is currently editing.' ), $user->display_name ) );
|
|
|
|
}
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! wp_trash_post( $post_id ) ) {
|
|
|
|
wp_die( __( 'Error in moving to Trash.' ) );
|
|
|
|
}
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
wp_redirect(
|
|
|
|
add_query_arg(
|
|
|
|
array(
|
|
|
|
'trashed' => 1,
|
|
|
|
'ids' => $post_id,
|
2018-08-16 21:51:36 -04:00
|
|
|
),
|
|
|
|
$sendback
|
2017-11-30 18:11:00 -05:00
|
|
|
)
|
|
|
|
);
|
|
|
|
exit();
|
2013-05-08 14:56:54 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'untrash':
|
|
|
|
check_admin_referer( 'untrash-post_' . $post_id );
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post ) {
|
|
|
|
wp_die( __( 'The item you are trying to restore from the Trash no longer exists.' ) );
|
|
|
|
}
|
2013-05-08 14:56:54 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post_type_object ) {
|
|
|
|
wp_die( __( 'Invalid post type.' ) );
|
|
|
|
}
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! current_user_can( 'delete_post', $post_id ) ) {
|
|
|
|
wp_die( __( 'Sorry, you are not allowed to restore this item from the Trash.' ) );
|
|
|
|
}
|
2009-07-30 09:39:34 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! wp_untrash_post( $post_id ) ) {
|
|
|
|
wp_die( __( 'Error in restoring from Trash.' ) );
|
|
|
|
}
|
2005-12-13 14:19:56 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
wp_redirect( add_query_arg( 'untrashed', 1, $sendback ) );
|
|
|
|
exit();
|
2013-05-08 14:56:54 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'delete':
|
|
|
|
check_admin_referer( 'delete-post_' . $post_id );
|
2013-05-08 14:56:54 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post ) {
|
|
|
|
wp_die( __( 'This item has already been deleted.' ) );
|
|
|
|
}
|
2004-04-28 00:49:16 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $post_type_object ) {
|
|
|
|
wp_die( __( 'Invalid post type.' ) );
|
|
|
|
}
|
2003-11-12 10:22:47 -05:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! current_user_can( 'delete_post', $post_id ) ) {
|
|
|
|
wp_die( __( 'Sorry, you are not allowed to delete this item.' ) );
|
|
|
|
}
|
2004-04-28 00:49:16 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( $post->post_type == 'attachment' ) {
|
|
|
|
$force = ( ! MEDIA_TRASH );
|
|
|
|
if ( ! wp_delete_attachment( $post_id, $force ) ) {
|
|
|
|
wp_die( __( 'Error in deleting.' ) );
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if ( ! wp_delete_post( $post_id, true ) ) {
|
|
|
|
wp_die( __( 'Error in deleting.' ) );
|
|
|
|
}
|
|
|
|
}
|
2008-10-31 18:47:07 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
wp_redirect( add_query_arg( 'deleted', 1, $sendback ) );
|
|
|
|
exit();
|
2008-10-31 18:47:07 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
case 'preview':
|
|
|
|
check_admin_referer( 'update-post_' . $post_id );
|
2008-10-31 18:47:07 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
$url = post_preview();
|
2016-05-12 11:44:28 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
wp_redirect( $url );
|
|
|
|
exit();
|
|
|
|
|
2018-12-16 22:52:51 -05:00
|
|
|
case 'toggle-custom-fields':
|
|
|
|
check_admin_referer( 'toggle-custom-fields' );
|
|
|
|
|
|
|
|
$current_user_id = get_current_user_id();
|
|
|
|
if ( $current_user_id ) {
|
|
|
|
$enable_custom_fields = (bool) get_user_meta( $current_user_id, 'enable_custom_fields', true );
|
|
|
|
update_user_meta( $current_user_id, 'enable_custom_fields', ! $enable_custom_fields );
|
|
|
|
}
|
|
|
|
|
|
|
|
wp_safe_redirect( wp_get_referer() );
|
|
|
|
exit();
|
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
default:
|
|
|
|
/**
|
|
|
|
* Fires for a given custom post action request.
|
|
|
|
*
|
|
|
|
* The dynamic portion of the hook name, `$action`, refers to the custom post action.
|
|
|
|
*
|
|
|
|
* @since 4.6.0
|
|
|
|
*
|
|
|
|
* @param int $post_id Post ID sent with the request.
|
|
|
|
*/
|
|
|
|
do_action( "post_action_{$action}", $post_id );
|
|
|
|
|
|
|
|
wp_redirect( admin_url( 'edit.php' ) );
|
|
|
|
exit();
|
2003-10-26 15:34:24 -05:00
|
|
|
} // end switch
|
2013-09-24 20:18:11 -04:00
|
|
|
include( ABSPATH . 'wp-admin/admin-footer.php' );
|