Wordpressの記事内検索で固定ページを排除する実装方法を検索している際に、以のコードを見つけました。
PHP
1$wp_query->is_main_query()
is_main_query()は$wp_queryのメソッドであるということが読み取れるのですが、
$wp_queryをvar_dumpでデバッグしたところ、is_main_query()は存在しませんでした(is_search()等は存在しました。)
上記の内容を踏まえ、質問なのですが、どうして$wp_query->is_main_query() という記述ができるのでしょうか。
PHP
1function my_posts_search( $search, $wp_query ){ 2 3 if ( $wp_query->is_search() && $wp_query->is_main_query() && !is_admin() ){ 4 5 $search .= " AND post_type = 'post' "; 6 7 return $search; 8 9 } 10 11 return $search; 12 13}
$wp_queryをデバッグした中身(is_main_query()は存在しませんでした)
PHP
1 ["is_single"]=>bool(false) 2 ["is_preview"]=>bool(false) 3 ["is_page"]=>bool(false) 4 . 5 . 6 . 7 ["is_posts_page"]=>bool(false) 8 ["is_post_type_archive"]=>bool(false)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/03 08:37
2020/01/03 08:40