ACFで別ページの要素が取得できない
-
Advanced Custom Fields(以下ACF)で、現在のページにページリンクのフォームを入れて、そのフォームでページが選ばれたときに選ばれたページの中の要素を取得したいと思っています。
同様のコードをarchive.phpで実装しており、そちらでは問題なく取得できています。今回は、固定ページで同様の内容を実装したいのですが、ページIDが取得できたりできなかったり、取得できてもACFの内容が取得できない問題があります。
以下のような構成です。
【single-recipe.php】(カスタム投稿タイプ)
recipestitle・・・テキスト、レシピのタイトル
recipeimg・・・画像、レシピの画像【page-recipe.php】(固定ページ)
ranking・・・繰り返し要素
ranking_page・・・ページ【page-recipe.phpのコード(抜粋)】
if( have_rows(‘ranking’) ){
while ( have_rows(‘ranking’) ) { the_row();
$ranking_page=get_sub_field(‘ranking_page’);
$postid = url_to_postid( $ranking_page );
$recipestitle=get_field(‘recipestitle’,$postid);
$recipeimg=get_field(‘recipeimg’,$postid);
〜それぞれ出力〜
}}$ranking_pageにはURLが取得されています。(絶対)
$postidは取得できたりできなかったりします。何番目に取得するかによっても結果が変わってくるので意味がわかりません。
$postidが取得できていても、$recipestitle、$recipeimgは出力されません(絶対)懸念点としては、
・page-recipe.phpはカスタム投稿タイプである
・Custom Permalinksというプラグインを使用している
(試しに停止してみましたが結果はかわりませんでした)
・url_to_postidで0が返ってきているということは、投稿記事として認識されていない!?泣きそうです。
よろしくお願いいたします。
- トピック「ACFで別ページの要素が取得できない」には新たに返信することはできません。