WordPressでサイトを作っています。
サイト構成と作成ファイルは次の通りです。
- トップページ…front-page.phpで作成。
- 新着記事一覧とカテゴリー一覧のページ…index.phpで作成。
- 固定ページ…page.phpで作成。
- 料金案内のページ…page-price.phpで作成。
- 個別の投稿ページ…single.phpで作成。
- お知らせ一覧のページ…archive-news.phpで作成。このページはプラグイン(Advanced Custom Fields)を使って作成した
- お知らせの投稿ページ…single-news.phpで作成。
- 404ページ…404.phpで作成
これらのページのヘッダー部分は共通しているため、ヘッダーはheader.phpでまとめて作成しています。
ヘッダーからは「お問い合わせ」にリンクを張っています。
「お問い合わせ」はWordPressの管理画面から固定ページとして作成しており、「お問い合わせ」のスラッグはcontactに設定しています。
(WordPressのパーマリンク設定は投稿名で行っています。)
「お問い合わせ」へのリンク方法ですが、これはheader.phpファイルに直接
PHP
1<a href=”contact”>お問い合わせ</a>
と書いています。
このリンク方法でほとんどのページから「お問い合わせ」のページに飛んでくれます。
ですがお知らせ一覧のページ(archive-news.phpで作成)からは「お問い合わせ」に飛ばず、404ページに飛んでしまいます。
(404ページで「お問い合わせ」をクリックしても404ページに行きます。)
結局、この不具合は「お問い合わせ」へのリンクを
<a href=” <?php echo home_url('/contact/'); ?>”>お問い合わせ</a>
とすることで解消しました。
そこで皆様にお尋ねしたいのですが、
なぜ<a href=”contact”>お問い合わせ</a>だと、お知らせ一覧のアーカイブページからは正しくリンクされなかったのでしょうか?
ヘッダーはheader.phpで共通しているので、他のページでリンクできるのであれば、お知らせ一覧のページからもリンクできるはずではないでしょうか?
お知らせ一覧を作ったarchive-news.phpの階層の問題かと思いもいましたが、archive-news.phpも他のファイルと同じ階層・同じ場所にあります。
あるいはarchive-news.phpはプラグイン(Advanced Custom Fields)を使って作成しているので、プラグインの仕様の影響でしょうか?
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/06 05:04