WordPress.org

Make WordPress Core

Ticket #28195: 28195.3.diff

File 28195.3.diff, 2.0 KB (added by wonderboymusic, 4 years ago)
  • src/wp-admin/admin-ajax.php

     
    6060        'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment',
    6161        'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor',
    6262        'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs',
    63         'save-user-color-scheme', 'update-widget', 'query-themes', 'filter-content'
     63        'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed'
    6464);
    6565
    6666// Register core Ajax calls.
  • src/wp-admin/includes/ajax-actions.php

     
    25062506}
    25072507
    25082508/**
    2509  * Apply `the_content` filters to a string based on the post ID.
     2509 * Apply [embed] handlers to a string.
    25102510 *
    25112511 * @since 4.0.0
    25122512 */
    2513 function wp_ajax_filter_content() {
    2514         global $post;
     2513function wp_ajax_parse_embed() {
     2514        global $post, $wp_embed;
    25152515
    25162516        if ( ! $post = get_post( (int) $_REQUEST['post_ID'] ) ) {
    25172517                wp_send_json_error();
     
    25232523
    25242524        setup_postdata( $post );
    25252525
    2526         wp_send_json_success( apply_filters( 'the_content', wp_unslash( $_POST['content'] ) ) );
     2526        $parsed = $wp_embed->run_shortcode( $_POST['content'] );
     2527        if ( preg_match( '/' . get_shortcode_regex() . '/s', $parsed ) ) {
     2528                $parsed = do_shortcode( $parsed );
     2529        }
     2530        wp_send_json_success( $parsed );
    25272531}
  • src/wp-includes/js/mce-view.js

     
    708708                                }
    709709                        },
    710710                        fetch: function () {
    711                                 wp.ajax.send( 'filter-content', {
     711                                wp.ajax.send( 'parse-embed', {
    712712                                        data: {
    713713                                                post_ID: $( '#post_ID' ).val(),
    714714                                                content: this.shortcode.string()