(解決したいこと)
カスタム投稿 placeのシングルページにて、カスタム投稿 news の記事を表示させたいのですが、
最新記事のみデータの取得がうまくいかず困っています。
■非表示を設定するカスタムフィールド (display_none)を動的に設定しています。
チェックが入った場合は、非表示
チェックされていない場合は、表示 の設定です。
チェックリストはplaceのタイトルと記事idを取得して格納しております。
Id1 : 記事タイトル1
Id2 : 記事タイトル2
Id3 : 記事タイトル3
Id4 : 記事タイトル4
function acf_load_teacher_field_choices( $field_single ) { $field_single['choices'] = array(); $args = array('posts_per_page' => -1,'post_type' => ‘place’,’order' => 'ASC'); $teachers=get_posts($args); foreach($teachers as $post): setup_postdata($post); $field_single['choices'][$post -> ID] = $post -> post_title; endforeach; wp_reset_postdata(); return $field_single; } add_filter('acf/load_field/name=display_none', 'acf_load_teacher_field_choices')
カスタム投稿 placeのシングルページにて、カスタム投稿 news の記事を表示させたいのですが、
最新記事のみデータの取得がうまくいかず、placeのタイトル(チェックリストのタイトル?)が出てしまいます。
<?php $args = array( 'posts_per_page' => -1, 'post_type' => 'news', ); $my_posts = get_posts( $args ); foreach ( $my_posts as $post ) : setup_postdata( $post ); $display_nones = get_field('display_none'); ?> <?php if ($display_nones && in_array($page_id, $display_nones )) :?> <!—IDを取得しシングルページのIDと同じになった場合に非表示—> <?php else : ?> <?php the_title(); ?> <?php the_content(); ?> <?php endif; ?> <?php endforeach; wp_reset_postdata(); ?>
原因わかる方やヒントわかる方いましたらご教授お願いいたします。
あなたの回答
tips
プレビュー