author.phpのエコー作成者ID


11

これはおそらく非常に単純な質問です。

しかし、author.phpでユーザーのIDをエコーするにはどうすればよいですか?

私はもう試した

the_author_meta('ID')

しかし、それは働きたくないようでした。たとえば、URLの最後にエコーしたいです。

http:///www.domain.com/author/sampleauthor-id

明らかに、「id」はその特定の著者のIDです。

何か案は?


パーマリンクではなく、UserPhotoプラグインの修正バージョン用です。特定の画像リンクをauthor.phpにハードコーディングしたいのですが、各ユーザーの画像に著者IDが付加されているので、それをリンクに含める必要があります
Dean Elliott

回答:


29

このコードを試してください。

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );
echo $author->ID;

または、作成者名が設定されていない場合は、次を使用します。

if ( $author_id = get_query_var( 'author' ) ) { $author = get_user_by( 'id', $author_id ); }

@AndyAdamsは、以下のコメントを簡単に見逃してしまいました


これにより、500内部サーバーエラーが発生します
Dean Elliott

上記のコードが原因であると確信していますか?author.phpを確認してください。
Joshua Abenazer、2011

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );問題はありませんecho author->ID;でした。なんらかの理由でエラーが発生したのです
Dean Elliott

タイプミスがあります。エコー$ author-> ID ... '$'に注意してください。回答を更新しました。
Joshua Abenazer、2011

1
二人ともドル記号を逃した。echo $author->ID;
Johannes Pille、2011

4

単純にこれを試してください

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}

これを行う簡単な方法は次のようになります$author_id = get_queried_object_id();
Gavin

0

var_dump(the_author_meta('ID'))Nullの場合、投稿者は投稿していません。

$author内部で呼び出す場合は、エコーを使用してみてくださいauthor.php

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.