php - 如果用户登录,则执行功能 - Wordpress
问题描述
我第一次在这里发帖!希望我的问题是相关的。
我定义了一个函数来排除日历中的一个类别,当我像这样执行它时效果很好:
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' );
但这似乎不起作用。
你能帮忙吗?非常感谢卢卡斯
解决方案
试试这样
if (is_user_logged_in()){
}else{
}
这是您的完整代码
if (is_user_logged_in()){
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' );
}else{
//leave empty
}
推荐阅读
- python - 为什么 model.predict 给出 3 个输出?
- html - 仅来自 CSS 的 Outlook 样式 br 标记高度
- python - 如何将自动完成条目添加到我已经 tkinter 项目
- python - “用户名或存储库不存在”
- sql - Vertica:如何通过减去另外两列来创建新列?
- testing - Kafka中的消息一致性测试场景
- python - 如何在不使用 CMD 中的命令的情况下判断端口是否在 Python 中使用?
- flutter - 复选框不会更改值
- java - 如何在 Selenium 类的帮助下使用 if..else 条件
- wordpress - 本地主机中的 Nginx 测试域指向相同的根文件夹