カテゴリまたは日付アーカイブの場合のように、wp_title()が著者アーカイブの著者名を表示しないのはなぜですか?どうやってこの機能をハックできますか?
header.phpの呼び出し:
<title><?php wp_title ( '|', true,'right' ); ?></title>
これが私のauthor.phpです:
<?php get_header(); ?>
<?php
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
get_userdata(intval($author));
function validate_gravatar($email) {
// Craft a potential url and test its headers
$hash = md5($email);
$uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404';
$headers = @get_headers($uri);
if (!preg_match("|200|", $headers[0])) {
$has_valid_avatar = FALSE;
} else {
$has_valid_avatar = TRUE;
}
return $has_valid_avatar;
}
$user_email = $curauth->user_email;
$has_avatar = validate_gravatar($user_email);
?>
<div class="content-title">About <?php echo $curauth->display_name; ?></div>
<div id="curauth" class="post-content">
<div id="avatar"><?php if($has_avatar) {echo get_avatar($curauth->ID, 70);} ?></div>
<?php if ($curauth->user_description) : ?>
<p><?php echo $curauth->user_description; ?></p>
<?php endif;
if ($curauth->user_url) : ?>
<p><a href="<?php echo $curauth->user_url; ?>"><?php echo $curauth->user_url; ?></a></p>
<?php endif; ?>
<?php if (!$curauth->user_description && !$curauth->user_url) : ?>
<p>A riddle wrapped in a mystery inside an Enigma...</p>
<?php endif; ?>
</div>
<div class="content-title">Contact</div>
<div id="curauth" class="post-content">
<?php echo do_shortcode( '[contact-form 1 "Contact Author"]' ); ?>
</div>
<div class="content-title">
<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php _e('Author Archive'); ?>
<a href="javascript: void(0);" id="mode"<?php if ($_COOKIE['mode'] == 'grid') echo ' class="flip"'; ?>></a> </div>
<ul>
<!-- The Loop -->
<?php get_template_part('loop'); ?>
<?php get_template_part('pagination'); ?>
<?php get_footer(); ?>
著者ページを表示すると、タイトルに自分の名前が表示されます。
wp_title()
は実行中にこのコードを実行します。
// If there's an author
if ( is_author() ) {
$author = get_queried_object();
$title = $author->display_name;
}
おそらくあなたの作者は表示名が設定されていませんか?
さらに、フィルタをwp_title
にフックしている可能性のあるプラグインを無効にして、テーマの関数ファイルでフックする関数を確認してください。