フォーラム

[解決済み] 個別ページで、titleが「日付+ブログタイトル」になる (6 件の投稿)

  1. mewth
    メンバー
    1 年前の投稿 #

    はじめまして。
    wordpressをインストールして、他のブログからの移行作業中のmewthと申します。

    個別ページを表示させると、title(titleタグの内容)が、
    年月日+ブログタイトル
    になってしまいます。

    年月日ではなく、個別記事の記事タイトルを表示させたいのですが、
    どうしてもうまくいきません。

    タグは以下の通りです。
    <title>
    <?php wp_title(' '); ?>
    <?php if(wp_title(' ', false)) { echo '--'; } ?>
    <?php bloginfo('name'); ?>
    </title>

    例えば、「2008 9月 6-- ○○ブログ」と表示されます。

    パーマリンクの設定は
    /%year%/%monthnum%%day%_%hour%%minute%.html
    としています。

    どうぞよろしくお願いいたします。

  2. shokun0803
    メンバー
    1 年前の投稿 #

    wp_title()タグは単体記事だと記事タイトルを返します。日付ベースのアーカイブだと日付を返します。カレンダーなどで日付をクリックして日付ベースのアーカイブを表示させていませんか?
    記事の一覧などで記事のタイトルをクリックして表示されるページが単体記事だと思うのですがどうでしょう?
    確認してみてください。
    参考記事です

  3. yuisekkei
    メンバー
    1 年前の投稿 #

    済みませんが便乗させていただきます。
    私もmewthさんと同様の問題に当たっています。
    日付ベースではなく、単体記事でのタイトルが「2008 ≫ 9月 ≫ 05 - ブログ名」となってしまいます。
    ヘッダーの設定はmewthさんと同じで、Title Suffixも使っております。
    パーマリンク設定は
    /%year%/%monthnum%%day%
    です。
    単体記事タイトル - ブログ名
    とすることを目指しています。
    解決策がありましたら教えて下さい。
    よろしくお願いします。

  4. lilyfan
    メンバー
    1 年前の投稿 #

    パーマリンクの設定は
    /%year%/%monthnum%%day%_%hour%%minute%.html
    としています。

    パーマリンク設定は
    /%year%/%monthnum%%day%
    です。

    どちらもこの設定が原因ですね。パーマリンクを日付と日時ベースにする場合、%year%, %monthnum%, %day%, %hour%, %minute%, %second% の *すべて* が含まれない限り、単体記事としてみなされません (is_single() が true にならない)。
    したがって、このパーマリンク設定では、単体記事を表示させても WordPress 自体は単体記事として扱わない (is_single() が false になる) ため、日時アーカイブと判断され、そういうテンプレートが適用されます。

    mewthさんの場合は、「秒だけが異なる記事が存在する可能性がゼロ」ならば、wp-includes/query.php の 545 行付近を以下のように修正してみてください (second のチェックを外す)。

    } elseif ( ('' !== $qv['hour']) && ('' !== $qv['minute']) && ('' != $qv['year']) && ('' != $qv['monthnum']) && ('' != $qv['day']) ) {
    			// If year, month, day, hour, minute, and second are set, a single
    			// post is being queried.
    			$this->is_single = true;

    yuisekkeiさんの場合、「1日1記事しか投稿しない」という制限をかけない限り、パーマリンクとして成立しません。さすがにそれは無理でしょうから、パーマリンク構造を、よくある「/%year%/%monthnum%/%day%/%postname%/」にするか、時刻にこだわるなら「/%year%/%monthnum%/%day%/%hour%%minute%%second%/」にしてみてください。

    余談ですが、できれば便乗質問は避けて欲しいです。
    今回は、最初の質問が未解決で、かつ、原因がほぼ同じなので構いませんが、そうでない場合は、便乗質問されてしまうと「解決ずみ」フラグの運用がメチャクチャになってしまいますので。

  5. yuisekkei
    メンバー
    1 年前の投稿 #

    丁寧なご説明ありがとうございました。
    私の問題は解決しました。
    便乗質問の件も了解しました。
    また機会があったらよろしくお願いします。

  6. mewth
    メンバー
    1 年前の投稿 #

    shokun0803さん
    lilyfanさん

    お返事が遅くなって申し訳ありませんでした。
    レスをありがとうございます。

    丁寧な説明をいただきありがとうございました。
    秒まで入っていないと単体記事と扱われないのですね。
    私は、1日に1記事くらいしか投稿しないので、
    秒だけが異なる投稿という可能性はまずないのですが、
    プログラムの安全策としては、確かに当然そうすべきですよね。

    教えていただいた方法で、無事に解決することができました。
    同時に、「コメント(数)」をクリックしてもコメントに飛ばなかった問題や、
    単体記事なのに「続きを読む」が表示されてをクリックしても続きが表示されないという問題も
    解決しました。
    本当にありがとうございました。

返信

ログイン しなければ投稿できません。

About this Topic