web-dev-qa-db-ja.com

フロントエンドwp_editorがオーディオ/ビデオリンクをレンダリングしない

私はwp_editorを使ってウェブサイトのフロントエンドにエディタを持っています。期待どおりに動作します。管理者側のエディタと非常によく似ています。ただし、オーディオまたはビデオのリンクを入力しても、管理者側のプレーヤーと同じようにレンダリングされません。例えば:

http://chromafunk.com/bucket/ring.mp3

管理者側で...すぐにオーディオプレーヤーにレンダリングされます。私の公開サイドのwp_editorでは、それはURL文字列として残ります。

明らかにこれらのURLを公開側からは標準として利用できないようにする管理者側のいくつかのフィルタ/スクリプトがあります。パブリックサイドのwp_editorをアドミンサイドのエディタとまったく同じように動作させることは可能ですか?私が管理者側のエディタからたくさんの機能を失ったとしても、フロントエンドでの編集は意味がありません。

自分のカスタムプラグインを使ってエディタを起動します。私は以下を使用しています: -

function create_tinymce() {
    $settings = array(
        'media_buttons' => true,
        'drag_drop_upload' => false,
        'wpautop' => true,
        );
    wp_editor("", "my-editor", $settings);
}

Imを使用して上記の関数をフック: -

add_action( 'wp_head', 'create_tinymce', 0 );

私は、WPアカウントを必要としないフロントエンドのコンテンツ作成インターフェースを提供する一連のテーマで、これとしばらくの間戦いました。過去2年間、私は「信頼してください、URLは埋め込みます」と言っています。

これらの古いチケットは休止中ですが、ここで解決策を見つけたところです https://wordpress.stackexchange.com/a/287623

フォームに使用しているページをレンダリングするテンプレートには、enqueueステートメントを追加する必要があります。

これは、自動埋め込みが追加されたエディタで機能していないサイトの一部のコードですvia wp_editor()

add_action('wp_enqueue_scripts', 'add_truwriter_scripts');

function add_truwriter_scripts() {  

    // set up main styles
    $parent_style = 'radcliffe_style'; 

    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );

    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );



if ( is_page('write') ) { // use on just our form page

    // Get Embed functionality in rich text editor
    // h/t https://wordpress.stackexchange.com/a/287623
    wp_enqueue_script( 'mce-view' );
   :
   :
   // unrelated code follows
1
cogdog