it-swarm.com.de

Der Audio-Player-Shortcode wird bei Verwendung der Variablen nicht angezeigt

Ich versuche, ein benutzerdefiniertes Term-Metafeld in einem Audio-Shortcode aufzurufen, den ich auf einer benutzerdefinierten Seite platziert habe, an der ich arbeite. Das Feld enthält einen Link zu einer MP3-Datei, die ich in meine Medienbibliothek hochgeladen habe. Ich habe eine IF-Anweisung, die den Audio-Player nur zusammen mit dem Text "Audio" anzeigt, wenn das Feld tatsächlich einen Link zu einer Audiodatei enthält. Auf dem Frontend wird jedoch nichts angezeigt, obwohl im Feld ein Link vorhanden ist.

Ich habe ein var_dump auf dem Feld durchgeführt und es gab Folgendes aus:

string(95) "echo do_shortcode([audio src="http://www.foo.com/wp-content/uploads/2018/07/audio.mp3"])"

Hier ist der Code, den ich derzeit in meiner functions.php habe:

function first_audio() {
                        $terms = get_the_terms($post->ID, 'firstb');
                        $result = "";
                        if (is_array($terms) || is_object($terms)){
                        foreach ($terms as $term) {
                            $term_id = $term->term_id;
                            $result .= 'echo do_shortcode([audio src="'.  get_term_meta($term_id, 'audioreco_64856', true)  .'"])';

                        }
                    }
                    if (!empty(get_term_meta($term_id, 'audioreco_64856', true))) {
                        return $result;}
                    }

Und hier ist der Code, den ich auf meiner Seite habe:

$first_audio = first_audio();
if (!empty($first_audio)) { ?>
<p><?php first_audio(); ?></p>
<?php }
    ?>

Ich habe auch versucht, first_audio(); zu wiederholen, aber das hat nur den gesamten Link wiedergegeben, genau wie der var_dump.

1
Darren

Ersetzen Sie die folgende Zeile

 $result .= 'echo do_shortcode([audio src="'.  get_term_meta($term_id, 'audioreco_64856', true)  .'"])';

mit

$result .=  do_shortcode('[audio src="'.  get_term_meta($term_id, 'audioreco_64856', true)  .'"]');

Echo das Ergebnis der Funktion

<p><?php echo first_audio(); ?></p>
1
Aparna_29