私のブログには2人の作成者と1人の管理者がいます。私は私のcontributors.phpで以下のコードを使っています
function contributors() {
global $wpdb;
$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users ORDER BY display_name");
foreach($authors as $author) {
echo the_author_image($author->ID);
echo the_author_meta('display_name', $author->ID) . '</br>' ;
echo the_author_meta('user_url', $author->ID) . '</br>';
echo the_author_meta('description', $author->ID) . '</br>' ;
echo the_author_meta('user_email', $author->ID) . '</br></br>' ;
}
}
contributors();
それはすべての作者と管理者の写真、名前、説明と電子メールを完全に印刷しています。
しかし、それはユーザーリンクを正しく印刷しません。
何が問題ですか?どうすればこれを解決できますか?
データベースのユーザーのURLを確認しましたか。たぶんそれは彼らが登録のために使ったものです。
このシナリオはどうですか -
あなたはまずデータベースから彼らのURLをチェックするべきです。それはwp_users
テーブルにあります(私はあなたがテーブル接頭辞wp_
を使ったと仮定しています)。
編集:
the_author_posts_link()
とthe_author_meta('user_url',$userID)
は異なる機能を持っています。
the_author_posts_link()
displayは作者によるすべての投稿へのリンクを表示します。
the_author_meta('user_url',$userID)
はホームページのURLを表示します。
したがって、これらは2つの異なることです。私はあなたの最善の策はあなたがthe_author_meta('user_url', $userID)
の代わりにあなたが達成しようとしているものを得るために以下を使うことであると思います。 the_author_posts_link
は引数を取らず、 The Loop の内側で使用する必要があるため、使用することもできません。
<a href="<?php echo get_author_posts_url( $author->ID ); ?>"><?php the_author_meta( 'display_name', $author->ID ); ?></a>