apply_filters, EMBEDS and AJAX not a friends? [duplicate]

As you haven’t posted, what exactly you’re doing with AJAX, we can just guess. And I guess, that you’re doing it extremly wrong – no need to “hook/filter” in ajax.

AJAX is for admin(?)

Basically, AJAX stuff is meant to be admin stuff. This means, that you got a wp_ajax_ hook and a wp_ajax_nopriv_ hook, but is_admin() will still return true for all requests. That’s something that is left over, or just tradition.

If you want to add something via AJAX, than simply do it with javascript.

Use wp_localize_script() to transport data from PHP ยป javascript

First localize your meta data to make it usable in the script:

wp_enqueue_script( 'my-script-handle', etc.... );
wp_localize_script(
     'my-script-handle'
    ,'my_localized_data'
    ,array(
        'youtubevideo' => $data['meta']->start_page_content
     )
);

Simple jQuery does it all

Then add it to the container, or wherever you need it:

// Depending on what exactly your "video" is (embed/link/etc.), you need to adjust the var.
var youtube_video = my_localized_data.youtubevideo;
jQuery( '#content' ).append( youtube_video );