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

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

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

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

PHP

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

Q&A

1回答

1435閲覧

【WordPress・YARPP】任意の位置に関連記事を表示できない

Fozmy

総合スコア12

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/12/14 06:08

編集2017/12/14 12:08

Yet Another Related Post Plugin(YARPP)を使用して、カスタム投稿の個別ページに関連記事を表示しようとしています。
カスタム投稿タイプは"Custom Post Type UI(CPT UI)"を使用して追加しています。

任意の位置に関連記事一覧を表示するため、YARPP設定より自動表示機能をOFFにして、related_posts()関数をループ内に記載しましたが、記事は取得されず、関連記事なし状態の表示となりました。
そこで、自動表示機能をONにしてみると、こちらでは関連記事は正常に取得され、一覧が出力されました。

関連記事表示で使用したテンプレートは、いずれもプラグインに同梱されるデフォルトのテンプレートです。

PHP

1/* YARPP Template: Simple */ 2<h3>Related Posts</h3> 3<?php if (have_posts()):?> 4<ol> 5 <?php while (have_posts()) : the_post(); ?> 6 <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a><!-- (<?php the_score(); ?>)--></li> 7 <?php endwhile; ?> 8</ol> 9<?php else: ?> 10<p>No related posts.</p> 11<?php endif; ?>

試したこと、参考にしたもの

下記のサイトを参考に、CPT UIの**カスタム「サポート」**に"yarpp"を追加していますが、表示内容への影響はありません。

また、公式フォーラムに同様の質問がありましたが、回答は得られていないようです。
https://goo.gl/CNnrav

設定の誤りや記述のミスを疑いましたが、これといった原因が見当たらず、行き詰まってしまいました。
解決の手掛かりとなりそうな情報や確認すべきポイントがありましたら、ぜひご回答をお願いします。

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

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

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

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

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

guest

回答1

0

カスタム投稿での検証はしていませんが、
関連記事を取得できる関数「yarpp_get_related()」では、取得できないでしょうか?

related_posts コードは不要で、表示側もテンプレート内に記載する必要があります。

<?php if(have_posts()):while(have_posts()):the_post(); if (function_exists('yarpp_get_related')) { $related = yarpp_get_related(); if ($related) { foreach ( $related as $tmp ) { $related_post = get_post($tmp->ID); $title = $related_post->post_title; $content = $related_post->post_content; $permalink = get_permalink( $tmp->ID ); $date = get_the_time("Y/m/d", $tmp->ID); } } } } ?>

件数を変更したい場合や特定の記事の関連リンクを取得したい場合は、引数で指定してください。

<?php $related = yarpp_get_related( array( 'limit' => 3 ), $post->ID ); ?>

投稿2017/12/20 08:32

Rykiel727

総合スコア66

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問