~TCD~AN(tcd014)で投稿ページや固定ページの記事タイトルをH1に変更する

TCDのWordPressテーマ「AN(tcd014)」では、投稿ページ、固定ページの記事タイトルにh2があてられています。

これをh1に変更する方法を紹介します。

カスタマイズをする場合の注意
必ずバックアップを取って自己責任でお願いします。もし何らかのトラブル等がおこっても、私は一切の責任を負えませんのでご了承ください。

記事タイトルをh2からh1に変更する

投稿ページの記事タイトルをh1に変更するのは、single.phpを編集します。

以下のh2の部分をh1に書きかえます。

<h2 class="page_headline"><?php the_title(); ?></h2>

これで記事タイトルがh1になりましたので、本文内でhタグを使われる場合は、h2から使い始めるように気をつけてくださいね。

同様に、固定ページの記事タイトルをh1に変更するのは、page.phpを編集します。

以下のh2の部分をh1に書きかえます。

<h2 class="page_headline"><?php the_title(); ?></h2>

サイトタイトルの見出しレベルを変更する

元々、投稿ページのhタグは、サイトのキャッチフレーズにh1、サイトタイトルと記事タイトルにh2が使われています。

それで、記事タイトルをh2からh1に変更した場合、h1がキャッチフレーズと記事タイトルの二つになってしまいます。

また、サイトタイトルがh2ですので、記事タイトルがh1になったことで、見出しレベルが逆転しているように感じてしまうことも考えられます。

こうしたhタグの使い方が気になる場合は、キャッチフレーズとサイトタイトルをpタグに変更してもいいと思います。

キャッチフレーズをpに変更する

キャッチフレーズをpにするには、header.phpを変更します。以下のh1の部分をpに書き換えます。閉じタグのほうも忘れずに変更してくださいね。

<!-- site description -->
<h1 id="site_description"><?php bloginfo('description'); ?></h1>

サイトタイトルを投稿ページのみpに変更する

次に、サイトタイトルのh2をpに変更しますが、キャッチフレーズをpに変更したことで、トップページやアーカイブページのh1がなくなってしまいます。

ですから、サイトタイトルは投稿ページでのみ p になるように、投稿ページ以外のトップページやアーカイブページでは h1 になるように、WordPressの条件分岐を使って変更します。

変更するファイルは、header-logo.phpです。

/**
 * フロントページにロゴを表示する
 */
function the_dp_logo(){
$logo = dp_logo_to_display();
if($logo){
$option = get_desing_plus_option(); //オプションの値を取得
$title = get_bloginfo('name');
$url = home_url();
if(is_single() || is_page()){
echo <<<EOS
<p id="logo" style="top:{$option['logotop']}px; left:{$option['logoleft']}px;">
<a href="{$url}/" title="{$title}" data-label="{$title}">
<img src="{$logo['url']}" alt="{$title}" title="{$title}" />
</a>
</p>
EOS;
}else{
echo <<<EOS
<h1 id="logo" style="top:{$option['logotop']}px; left:{$option['logoleft']}px;">
<a href="{$url}/" title="{$title}" data-label="{$title}">
<img src="{$logo['url']}" alt="{$title}" title="{$title}" />
</a>
</h1>
EOS;
}
}else{
if(is_single() || is_page()){
echo '<p id="logo_text"><a href="'.home_url().'/">'.get_bloginfo('name')."</a></p>\n";
}else{
echo '<h1 id="logo_text"><a href="'.home_url().'/">'.get_bloginfo('name')."</a></h1>\n";
}
}
}

条件分岐の if(is_single() || is_page()) を使うことで、サイトタイトルは、投稿ページまたは固定ページでpに、トップページやアーカイブページではh1に切り替わるようになります。

断っておきますが、私はphpのことはほとんどわかっていないので、スマートな変更ではないかもしれないことご了承ください(lil´Д`)

関連記事

コメント

  • トラックバックは利用できません。
  • コメント (2)
    • wai
    • 2017年 10月 01日

    とても参考になりました!!!
    ありがとうございます。

      • まりー
      • 2017年 10月 01日

      waiさん、こんばんは。
      コメントありがとうございます。
      お役に立てたようで嬉しいです♪

サイト内検索

おすすめ記事

ページ上部へ戻る