web-dev-qa-db-ja.com

カテゴリページの<ヘッダ>をカスタマイズする

私は自分のテンプレートを使ってブログで作業しています。カテゴリページ(つまりmydomain.com/category/mycategory)にリンクすると、Wordpressはheader.phpの直後にこのHTMLコードを生成します。

<!-- HTML rendered by header.php -->

<!-- This 2 lines belong to index.php -->
<div id="primary" class="content-area">
  <main id="main" class="site-main" role="main">

<!-- HTML rendered by content.php -->
<header class="page-header">
  <h1 class="page-title">Category: My Category</h1>
</header>
<!-- .page-header --> <!-- this comment is also generated by content.php -->
<div id="post-292" class="grid-item">
  <!-- The rest of content.php -->
</div>

私のcontent.phpファイルは次のとおりです。

<?php
/**
 * The template part for displaying content
 *
 * @package WordPress
 * @subpackage Twenty_Sixteen
 * @since Twenty Sixteen 1.0
 */
?>

<div id="post-<?php the_ID(); ?>" class="grid-item">
...

質問は次のとおりです。<header>タグはどこで生成され、どのようにカスタマイズできますか。たとえば、<h1>レンダリングされたコンテンツCategory:My CategoryをちょうどMy Categoryに変更します。

任意の助けやガイドは大歓迎です。ご回答ありがとうございます。

2
Alvaro Pedraza

Codexの テンプレート階層 を確認して、いつどのファイルが読み取られるのかをよく理解してください。これはあなたがどんな状況(tag/category/front-page/etc)で何が呼ばれているのか理解するのを助けるでしょう。

Content.phpはテンプレート階層の一部ではないため、ドキュメント内で言及されることはありません。テーマ開発者は異なるファイル名を使用し、ループ内でそれらを参照します。

Automatticによるテーマのほとんどは、コンテンツを構築するためにさまざまな部分を呼び出すためにこの手法を使用しています。 index.phppage.php、またはpost.phpを調べて、そこでcontent.phpが使用されているかどうかを確認してください。

3
Greg McMullen
  1. 別のファイルフォームheader.phpを作成し、header-{category-name}.phpのように名前を付けます。
  2. 必要な変更をheader-{category-name}.phpにしてください。
  3. それからあなたのcategory.phpの中でget_header( 'category-name' )でこのファイルを呼びます。
  4. category.phpファイルがない場合は、archive.phpテンプレートをコピーして作成してから、上記の指示に従ってください。

上記のステップに従うと、あなたはあなたの望ましい結果を得るでしょう。

1
CodeMascot