Первый раз я публикую здесь! Надеюсь, мой вопрос будет актуален.
Я определил функцию для исключения категории в календаре, которая хорошо работает при ее выполнении следующим образом:
function tribe_exclude_events_category_month_list( $query ) {
if ( isset( $query->query_vars['eventDisplay'] ) && ! is_singular( 'tribe_events' ) ) {
if ( $query->query_vars['eventDisplay'] == 'list' && ! is_tax( Tribe__Events__Main::TAXONOMY ) || $query->query_vars['eventDisplay'] == 'month' && $query->query_vars['post_type'] == Tribe__Events__Main::POSTTYPE && ! is_tax( Tribe__Events__Main::TAXONOMY ) && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'tax_query', array(
array(
'taxonomy' => Tribe__Events__Main::TAXONOMY,
'field' => 'slug',
'terms' => array( 'reunions'),
'operator' => 'NOT IN'
)
) );
}
}
return $query;} add_action( 'pre_get_posts', 'tribe_exclude_events_category_month_list' );
Но я хочу выполнить его, только если пользователь вошел в систему.
Итак, я сделал это:
function tribe_exclude_events_category_month_list( $query ) {
if ( isset( $query->query_vars['eventDisplay'] ) && ! is_singular( 'tribe_events' ) ) {
if ( $query->query_vars['eventDisplay'] == 'list' && ! is_tax( Tribe__Events__Main::TAXONOMY ) || $query->query_vars['eventDisplay'] == 'month' && $query->query_vars['post_type'] == Tribe__Events__Main::POSTTYPE && ! is_tax( Tribe__Events__Main::TAXONOMY ) && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'tax_query', array(
array(
'taxonomy' => Tribe__Events__Main::TAXONOMY,
'field' => 'slug',
'terms' => array( 'reunions'),
'operator' => 'NOT IN'
)
) );
}
}
return $query; }
function exclude_category_when_logged_in() {
if ( is_user_logged_in() ) {
add_action( 'pre_get_posts', 'tribe_exclude_events_category_month_list' );
}} add_action( 'init', 'exclude_category_when_logged_in' );
Но, похоже, это не работает.
Не могли бы вы помочь, пожалуйста? Большое спасибо, Лукас