web-dev-qa-db-ja.com

作者ページのwp_title()処理

カテゴリまたは日付アーカイブの場合のように、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(); ?>
2
two7s_clash

著者ページを表示すると、タイトルに自分の名前が表示されます。

wp_title()は実行中にこのコードを実行します。

// If there's an author
if ( is_author() ) {
    $author = get_queried_object();
    $title = $author->display_name;
}

おそらくあなたの作者は表示名が設定されていませんか?

さらに、フィルタをwp_titleにフックしている可能性のあるプラグインを無効にして、テーマの関数ファイルでフックする関数を確認してください。

3
t31os