ACF - 不显示过去的事件并根据开始日期进行筛选
创始人
2024-07-23 07:00:56
0

以下是一个示例代码,演示如何使用ACF(Advanced Custom Fields)插件来过滤并显示不显示过去的事件,并根据开始日期进行筛选。

首先,确保已安装并激活ACF插件。然后,在您的主题的functions.php文件中添加以下代码:

function filter_past_events($query) {
    if( is_admin() || ! $query->is_main_query() ) {
        return;
    }
    
    if( is_post_type_archive('event') ) { // 将 'event' 替换为您的自定义文章类型的名称
        $meta_query = array(
            array(
                'key' => 'start_date', // 将 'start_date' 替换为您的自定义字段的名称
                'value' => date('Ymd'), // 只显示今天或之后的事件
                'compare' => '>=',
                'type' => 'DATE'
            )
        );
        
        $query->set('meta_query', $meta_query);
        $query->set('orderby', 'meta_value');
        $query->set('meta_key', 'start_date'); // 将 'start_date' 替换为您的自定义字段的名称
        $query->set('order', 'ASC');
    }
}
add_action('pre_get_posts', 'filter_past_events');

以上代码将在事件自定义文章类型的存档页面上过滤查询,并仅显示今天或之后的事件。您需要将代码中的 'event' 替换为您的自定义文章类型的名称,并将 'start_date' 替换为您在ACF中为事件添加的自定义日期字段的名称。

保存并刷新您的网站,您将只看到今天或之后的事件。

相关内容

热门资讯

Android Studio ... 要解决Android Studio 4无法检测到Java代码,无法打开SDK管理器和设置的问题,可以...
安装tensorflow mo... 要安装tensorflow models object-detection软件包和pandas的每个...
安装了Laravelbackp... 检查是否创建了以下自定义文件并进行正确的配置config/backpack/base.phpconf...
安装了centos后会占用多少... 安装了CentOS后会占用多少内存取决于多个因素,例如安装的软件包、系统配置和运行的服务等。通常情况...
按照Laravel方式通过Pr... 在Laravel中,我们可以通过定义关系和使用查询构建器来选择模型。首先,我们需要定义Profile...
按照分类ID显示Django子... 在Django中,可以使用filter函数根据分类ID来筛选子类别。以下是一个示例代码:首先,假设你...
Android Studio ... 要给出包含代码示例的解决方法,我们可以使用Markdown语法来展示代码。下面是一个示例解决方案,其...
Android Retrofi... 问题描述:在使用Android Retrofit进行GET调用时,获取的响应为空,即使服务器返回了正...
Alexa技能在返回响应后出现... 在开发Alexa技能时,如果在返回响应后出现问题,可以按照以下步骤进行排查和解决。检查代码中的错误处...
Airflow Dag文件夹 ... 要忽略Airflow中的笔记本检查点,可以在DAG文件夹中使用以下代码示例:from airflow...