サポート » 使い方全般 » urlに「date」が入ってしまう

  • 解決済 konteku

    (@konteku)


    投稿をニュースで使用しようと思っております。

    パーマリンクをカスタム構造にして

    /news/%year%/%monthnum%/%day%/%post_id%/

    と設定して、サイドバーでは

    <?php wp_get_archives('type=yearly'); ?>

    と記述し、年別でアーカイブを所得しております。

    これですとサイドバーの年別リンクが

    http://○○.com/news/2012/

    となるのですが、
    あまり更新が無いので、日付のディレクトリはいらないと思い、
    パーマリンクを

    /news/%year%/%monthnum%/%post_id%/

    と日付の「%day%」を消しました。
    するとサイドバーの年別リンクが

    http://○○.com/news/date/2012/

    と「date」が付くようになってしまいます。
    この「date」は「wp_get_archives(‘type=yearly’)」で
    自動で生成されるリンクから消せないのでしょうか?

    http://○○.com/news/2012/
    とアクセスしても年別一覧は見れているのでできれば消したいです。

    検索して見当たらなかったのでトピックを立てましたが、
    もし、既にある質問でしたら申し訳ありません。

    ご教示いただければ幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    kontekuさん

    パーマリンク設定で、3階層目までに %post_id% が含まれていた場合、年月アーカイブには、date が入るようになっています。これは、年月アーカイブと投稿のURLが競合してしまう可能性を除外するためのものです。

    /news/%year%/%monthnum%/%post_id%/

    で設定した場合は、ほんの僅かではありますが、カレンダーなどから遷移する日別のアーカイブと、投稿のURLが同一になってしまう可能性があります。

    年別や月別のみ date を取り除きたいということであれば、get_year_link, get_month_link へフックし、date の除去と、add_rewrite_rule 関数を用いて、実現することは可能です。

    スレッド開始 konteku

    (@konteku)

    jim912さん

    3階層目までですとdateが入る仕様なのですね。
    日別と同一になる可能性を避ける為だったのですね。

    フックをするのがわからないので今回は仕様ということで諦めます。
    機会がありましたら勉強して実装してみようと思います。

    ご回答ありがとうございました。
    解決済みとさせていただきます。

    また本件とは関係ありませんが、
    jim912さんのパンくずリストのプラグイン非常にシンプルで使い易く重宝させていただいております。
    ありがとうございます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「urlに「date」が入ってしまう」には新たに返信することはできません。