Audio Player wird nicht geladen, wenn der Inhalt über Ajax geladen wird, MediaElement.js nicht angewendet

Wenn ich den Inhalt mit ajax lade, wird MediaElements.js nicht auf meinen Audioplayer angewendet, so dass der Ton nicht angezeigt wird. Ich denke, das liegt daran, dass die MediaElement.js mit wp-footer () geladen ist, und diese neue Audio wird dem DOM nach hinzugefügt, und es wird nicht für MediaElement.js erkannt.

Das gleiche passiert mit lokalen Videos.

Wie kann ich das beheben?

Solutions Collecting From Web of "Audio Player wird nicht geladen, wenn der Inhalt über Ajax geladen wird, MediaElement.js nicht angewendet"

Ich hatte das gleiche Problem. Sie müssen den Medienelementstil und das Skript neu klassifizieren, so wie es in diesem Beitrag erklärt wird. Also ruf einfach diese function an, nach deinem Ajax-Anruf:

function enqueue_mediaelement(){ wp_enqueue_style( 'wp-mediaelement' ); wp_enqueue_script( 'wp-mediaelement' ); } add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' ); 

Wenn Sie Ihre eigenen Stile für bestimmte Seiten hinzufügen möchten (im folgenden Beispiel für eine Seite mit der ID ‘2’), würde ich empfehlen, zusätzlich ein eigenes Stylesheet hinzuzufügen:

 function enqueue_mediaelement(){ if( is_page( '2' ) ) { wp_enqueue_style( 'wp-mediaelement' ); wp_enqueue_style('my-audio-player', get_stylesheet_directory_uri() . '/audio-player-styles.css', array(), null ); }else{ wp_enqueue_style( 'wp-mediaelement' ); } wp_enqueue_script('wp-mediaelement'); } add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' ); 

Natürlich könnte man das auch mit einem individuellen Skript machen.

Auch dieser Artikel könnte hilfreich sein.