Ich brauche ein zusätzliches Paar Augen dazu. Ich habe einen Code-Block in Abhängigkeit von einem kommerziellen Thema angepasst, das den folgenden Code enthält:
Es gibt den the_author_link()
darin, der entweder den Namen des Benutzers oder den Link zur Website des Benutzers angibt, der im Profil des Admin-Benutzers ausgefüllt werden kann. Der the_author_link()
akzeptiert keine Parameter gemäß dem Codex.
Ich möchte, dass diese function den Link in einem neuen Fenster öffnet. Muss ich die function abbrechen?
Ja, Sie müssen die URL nach Benutzer-Meta abrufen:
< ?php if ( get_the_author_meta('url') ) { // Author has website url $author_url = get_the_author_meta('url'); } else { // Author doesn't have website url, so get Author Posts Page $author_url = get_author_posts_url( get_the_author_meta('ID') ); } ?> Author's website
Leider ist dies ein Teil, bei dem WordPress keine Anpassung über Filter oder Aktionen erlaubt, wie Sie im Quellcode für diese function sehen können .
Sie können diesen Code jedoch kopieren und zu Ihrem eigenen machen
function wpse_get_author_link_target_blank() { if ( get_the_author_meta('url') ) { return sprintf( '%3$s', // added this part -------------------------------------------------^ esc_url( get_the_author_meta('url') ), /* translators: %s: author's display name */ esc_attr( sprintf( __( 'Visit %s’s website' ), get_the_author() ) ), get_the_author() ); } else { return get_the_author(); } }
Und benutze es so
< ?php echo wpse_get_author_link_target_blank(); ?>