Einige Probleme beim Aufruf einer function in sprintf () innerhalb von functions.php Template-Datei

Ich bin neu in PHP und WordPress und ich personalisiere eine vorhandene Vorlage und ich habe das folgende Problem.

In der function.php Datei der Vorlage habe ich folgende function:

function admired_posted_on() { printf( __( 'Posted on   %4$s  %5$s   by bla     ', 'admired' ), esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), sprintf('Views: ', get_PostViews(get_the_ID())), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), sprintf( esc_attr__( 'View all posts by %s', 'admired' ), get_the_author() ), esc_html( get_the_author() ) ); } 

Wie Sie diese function sehen können, erstellen Sie einen HTML-Code, der in einem bestimmten Teil meiner Vorlage (innerhalb einer Schleife) gedruckt wird.

Ok, wie Sie diese Zeile sehen können:

 sprintf('Views: ', get_PostViews(get_the_ID())), 

sollte die Zeichenkette “Views” ausgeben, gefolgt von dem Wert, der von der function get_the_ID () zurückgegeben wird (die die Anzahl der Personen anzeigt, die einen Beitrag gelesen haben)

Wie Sie sehen können, ist diese function die fünfte, die in der Liste der aufgerufenen function aufgerufen wird. Daher sollte dieser Wert anstelle des % 5 $ s- Platzhalters in das folgende span-Tag eingefügt werden:

 %5$s 

Das Problem ist, dass, wenn ich gehe, um meine Seite in diesem Bereich auszuführen, nur der Wert angezeigt wird: Views: aber nicht die Ausgabe der get_PostViews () – function angezeigt.

Wenn statt der ursprünglichen Zeile:

 sprintf('Views: ', get_PostViews(get_the_ID())), 

Ich benutze diese Zeile:

 sprintf(get_PostViews(get_the_ID())), 

es funktioniert gut, aber so kann ich den erklärungstext nicht vorankündigen: “Ansichten:”

Warum? Was kann ich tun, um den “Views” -Text zu drucken, gefolgt vom zurückgegebenen Wert meiner get_PostViews-function?

Tnx

Andrea

Solutions Collecting From Web of "Einige Probleme beim Aufruf einer function in sprintf () innerhalb von functions.php Template-Datei"

Es gibt keinen Spezifizierer in Ihrem Sprintf, daher wird nichts ausgegeben. Versuchen:

 sprintf('Views: %d', get_PostViews(get_the_ID())), 

Möglicherweise müssen Sie stattdessen% s verwenden, es hängt davon ab, was die function get_PostViews zurückgibt.