やりたいこと
公開/非公開ではなく、公開したまま記事の表示/非表示を切り替えたい。
(すみませんが、そうしたい理由はわからないのです)
メインループ・サブループから除外は出来たのだが、前次リンクに非表示のはずのページが出てきてしまうので除外したい。
困っていること
カテゴリやタクソノミーでの一括除外は出来るが、カスタムフィールドの値による制御は出来ないような気がしてきた。
書いたコード
__room__の記事ページのメインループはpre_get_postsでカスタムフィールド__room_flag__を除外するようになっている。
function.php
wordpress
1add_action( 'pre_get_posts', 'pre_get_posts'); 2function pre_get_posts($query) { 3 if ( is_admin() || ! $query->is_main_query() ){ 4 return; 5 } 6 if(is_singular('room')) { 7 $query->set( 'meta_query', 8 array( 9 'key' => 'room_flag', 10 'value' => true, 11 'compare'=>'!=' 12 ) 13 ); 14 } 15}
single-room.phpに、ごく普通のprevious_postを書いて、カスタマイズしようと思ってつまずいた。
previous_postには全くこだわっていないので、出来るものならどういう方法でも構わない。
wordpress
1<ul class="nav-prevnext"> 2<?php if( get_previous_post() ): ?> 3<li class="nav-prev"><?php $prev = get_previous_post(); ?> 4<a href="<?php echo get_permalink($prev->ID) ?>"> 5<span>前の記事へ</span> 6<?php echo $prev->seminar_title; 7?></a></li> 8<?php endif; ?> 9<?php if( get_next_post() ): ?> 10<li class="nav-next"><?php $next = get_next_post(); ?> 11<a href="<?php echo get_permalink($next->ID) ?>"> 12<span>次の記事へ</span> 13<?php echo $next->seminar_title; 14?></a></li> 15<?php endif; ?> 16</ul>
知りたいこと
- そもそもそんなことは実現可能なのか
- previous_postで出来るのか
- previous_postじゃないとしたら何を使うのが良いのか
よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/01 01:42