質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

553閲覧

WordPressで投稿タイプアーカイブへのリンクがうまくいかない

kiichisato

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/08/30 22:49

前提・実現したいこと

現在、WordPressのオリジナルテーマを作成しています。
投稿ページのタイトル上に現在表示している投稿タイプへのアーカイブページへのリンクを載せようとしています。

試したこと

PHP

1<?php get_header(); ?> 2<body> 3 <div class="cursor"></div> 4 <div class="follower"></div> 5 <div class="uk-container uk-container-small uk-margin-xlarge-top uk-margin-xlarge-bottom"> 6 <?php if(have_posts()): while(have_posts()):the_post(); ?> 7 <div class="content-area"> 8 <a class="post-type" href="<?php echo get_post_type_archive_link( $post_type ); ?>"><?php echo esc_html(get_post_type_object(get_post_type())->label); ?></a> 9 <h1><?php the_title(); ?></h1> 10 <p class="content-meta"><span class="content-meta-time"><?php the_time('Y.m.d'); ?></span>/<span class="content-meta-author"><?php the_author_posts_link(); ?></span></p> 11 <p class="category"><?php the_category(' '); ?></p> 12 <?php the_content(); ?> 13 </div> 14 <?php endwhile; endif; ?> 15 <?php previous_post_link('%link','古い記事へ'); ?> 16 <?php next_post_link('%link','新しい記事へ'); ?> 17 </div> 18</body> 19<?php get_footer(); ?>

8行目で投稿タイプのアーカイブページへのリンクを出力しています。

問題

後から追加したカスタム投稿タイプではうまく機能するのですが、デフォルトの「投稿」の名前を変更した「記事」という投稿タイプの場合、リンク先が現在表示しているページに再び飛ばされる形になってしまいます。

わかりずらい質問文だと思うので、よくわからないところがあればコメントをいただければ幸いです。
また、追加で必要な情報があれば教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

if文で、postの場合のみ手動で出力するようにしました。
見様見真似で書いたので見苦しいコードだと思いますが、参考までに載せておきます。(6行目〜10行目)

PHP

1<?php get_header(); ?> 2<body> 3 <div class="uk-container uk-container-small uk-margin-xlarge-top uk-margin-xlarge-bottom"> 4 <?php if(have_posts()): while(have_posts()):the_post(); ?> 5 <div class="content-area"> 6 <?php if (get_post_type() === 'post'): ?> 7 <a class="post-type" href="<?php bloginfo( 'url' ); ?>/article">記事</a> 8 <?php else:?> 9 <a class="post-type" href="<?php echo get_post_type_archive_link( $post_type ); ?>"><?php echo esc_html(get_post_type_object(get_post_type())->label); ?></a> 10 <?php endif; ?> 11 <h1><?php the_title(); ?></h1> 12 <p class="content-meta"><span class="content-meta-time"><?php the_time('Y.m.d'); ?></span>/<span class="content-meta-author"><?php the_author_posts_link(); ?></span></p> 13 <p class="category"><?php the_category(' '); ?></p> 14 <?php the_content(); ?> 15 </div> 16 </div> 17 </body> 18 <?php endwhile; endif; ?> 19<?php get_footer(); ?>

投稿2021/08/31 01:44

kiichisato

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

標準投稿タイプの記事一覧ページのリンクが取得できない
が参考になると思います。リンク先で提案されている標準投稿タイプは利用しない方法や、postの場合だけ別の方法でリンクを作成するなどの対応がありそうです。

投稿2021/08/31 01:15

編集2021/08/31 01:18
hayato7

総合スコア1135

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiichisato

2021/08/31 01:41

ありがとうございます! できればpostを使いたかったので、if文を書いてみました。 完全初心者なので見苦しいコードだと思いますが、一応載せておきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問