| @@ -265,10 +265,18 @@ | ||
| 265 | 265 | /** |
| 266 | 266 | * Creates a single post. |
| 267 | 267 | */ |
| 268 | 268 | public function create_post( $request ) { |
| 269 | - $id = wp_insert_post( $request->get_params() ); | |
| 270 | 269 | |
| 270 | + $params = $request->get_params(); | |
| 271 | + if ( isset( $params['meta_input'] ) && is_array( $params['meta_input'] ) ) { | |
| 272 | + foreach ( $params['meta_input'] as $meta_key => $meta_value ) { | |
| 273 | + $params['meta_input'][ $meta_key ] = maybe_unserialize( $meta_value ); | |
| 274 | + } | |
| 275 | + } | |
| 276 | + | |
| 277 | + $id = wp_insert_post( $params ); | |
| 278 | + | |
| 271 | 279 | if ( ! $id || is_wp_error( $id ) ) { |
| 272 | 280 | return [ |
| 273 | 281 | 'error' => true, |
| 274 | 282 | ]; |
| @@ -296,9 +304,9 @@ | ||
| 296 | 304 | 'post_parent' => $post->post_parent, |
| 297 | 305 | 'post_password' => $post->post_password, |
| 298 | 306 | 'post_status' => 'draft', |
| 299 | 307 | /* translators: %s: post/page title */ |
| 300 | - 'post_title' => sprintf( _x( '%s - Copy', '%s stands for post/page title.', 'fl-assistant' ), $post->post_title ), | |
| 308 | + 'post_title' => sprintf( _x( '%s - Copy', '%s stands for post/page title.', 'assistant' ), $post->post_title ), | |
| 301 | 309 | 'post_type' => $post->post_type, |
| 302 | 310 | 'to_ping' => $post->to_ping, |
| 303 | 311 | 'menu_order' => $post->menu_order, |
| 304 | 312 | ]; |
| @@ -421,9 +429,11 @@ | ||
| 421 | 429 | /** |
| 422 | 430 | * Deletes a single post based on the specified ID. |
| 423 | 431 | */ |
| 424 | 432 | public function delete_post( $request ) { |
| 425 | - $id = $request->get_param( 'id' ); | |
| 433 | + $params = $request->get_params(); | |
| 434 | + $id = $params['id']; | |
| 435 | + $force = isset( $params['force'] ) && $params['force']; | |
| 426 | 436 | |
| 427 | 437 | if ( ! current_user_can( 'edit_post', $id ) ) { |
| 428 | 438 | return rest_ensure_response( |
| 429 | 439 | [ |
| @@ -431,9 +441,9 @@ | ||
| 431 | 441 | ] |
| 432 | 442 | ); |
| 433 | 443 | } |
| 434 | 444 | |
| 435 | - wp_delete_post( $id ); | |
| 445 | + wp_delete_post( $id, $force ); | |
| 436 | 446 | |
| 437 | 447 | return rest_ensure_response( |
| 438 | 448 | [ |
| 439 | 449 | 'success' => true, |