WordPress.org

Make WordPress Core

Ticket #32565: 32565.3.diff

File 32565.3.diff, 1.3 KB (added by MikeHansenMe, 4 years ago)
  • src/wp-admin/includes/ajax-actions.php

     
    12441244                                        ) );
    12451245                                        $x->send();
    12461246                                }
    1247 
    1248                                 if ( !$mid = add_meta( $pid ) )
    1249                                         wp_die( __( 'Please provide a custom field value.' ) );
    12501247                        } else {
    12511248                                wp_die( 0 );
    12521249                        }
    1253                 } elseif ( ! $mid = add_meta( $pid ) ) {
    1254                         wp_die( __( 'Please provide a custom field value.' ) );
    12551250                }
     1251                $mid = add_meta( $pid );
     1252                if ( false === $mid ) {
     1253                        $metakeyselect = isset( $_POST['metakeyselect'] ) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
     1254                        $metakeyinput = isset( $_POST['metakeyinput'] ) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : '';
     1255                        $metavalue = isset( $_POST['metavalue'] ) ? $_POST['metavalue'] : '';
     1256                        if ( '#NONE#' !== $metakeyselect ) {
     1257                                $metakey = $metakeyselect;
     1258                        }
     1259                        if ( ! empty( $metakeyinput ) ) {
     1260                                $metakey = $metakeyinput;
     1261                        }
     1262                        if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $pid, $metakey ) ) {
     1263                                wp_die( __( 'You are not allowed to edit this custom field.' ) );
     1264                        } else {
     1265                                wp_die( __( 'Please provide a custom field value.' ) );
     1266                        }
     1267                }
    12561268
    12571269                $meta = get_metadata_by_mid( 'post', $mid );
    12581270                $pid = (int) $meta->post_id;