私は現在取り組んでいるテーマについていくつかのバグを取り除いています、そして誰かが私を助けてくれることを願っています。
私は、Justin Tadlockがブログページにカスタム投稿タイプを表示するために、そしてwp-debugをtrueに設定して作成したこの機能を使用しました。Notice:Undefined index:suppress_filtersメッセージを受け取ります。
コードは次のとおりです。
// Custom Post Type for the public blog posts to show on Index or blog page
add_filter( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query ) {
if ( ( is_home() && false == $query->query_vars['suppress_filters'] ) || is_feed() )
$query->set( 'post_type', array( 'news', 'attachment' ) );
return $query;
}
誰かが助けることができればそれは素晴らしいことです。ありがとう
$query->query_vars['suppress_filters']
が設定されていない場合は、そのメッセージが表示されます。
false == $query->query_vars['suppress_filters'] )
の代わりにempty($query->query_vars['suppress_filters'])
を使用するか、この$query->get('suppress_filters')
のようにfalse == $query->get('suppress_filters')
を使用してください。
テストされていませんが(最低限のテストしかされていません)、どちらでも同じ結果が通知なしに表示されるはずです。
$query->query_vars['suppress_filters']
は設定されていないようです。これを試して:
// Custom Post Type for the public blog posts to show on Index or blog page
add_filter( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query ) {
if (
( is_home() && (
isset( $query->query_vars['suppress_filters'] ) &&
false == $query->query_vars['suppress_filters']
)
) ||
is_feed()
) {
$query->set( 'post_type', array( 'news', 'attachment' ) );
}
return $query;
}
false
かどうかを確認する前に、実際に$query->query_vars['suppress_filters']
が設定されていることを確認するためのチェックを追加しました。 (また、読みやすくするためにif()
ステートメントを分割しました(すべての(
と)
を正しく一致させたと思います)。