Php 木枝-如果日期/时间是过去/现在/将来,则将分类柱拆分
我正在使用ACF链接缩放网络研讨会。我使用ACF添加开始和结束日期/时间。 我有一个标准条件来检查这些字段的过去/现在/未来Php 木枝-如果日期/时间是过去/现在/将来,则将分类柱拆分,php,wordpress,datetime,twig,timber,Php,Wordpress,Datetime,Twig,Timber,我正在使用ACF链接缩放网络研讨会。我使用ACF添加开始和结束日期/时间。 我有一个标准条件来检查这些字段的过去/现在/未来 {% if w_start %} {% if current >= w_start and current <= w_end %} {#% present %#} {% elseif current > w_end %} {#% past %#} {% else %} {#% fut
{% if w_start %}
{% if current >= w_start and current <= w_end %}
{#% present %#}
{% elseif current > w_end %}
{#% past %#}
{% else %}
{#% future %#}
{% endif %}
{% endif %}
-
我是否为循环创建3个单独的循环?我是否根据if条件进行排序
这里的任何帮助或指导都会很好。我建议您在PHP模板中循环您的帖子,以便它们在上下文中分开。该功能可以帮助:
$context['posts\u by\u time']=array\u reduce(Timber::get\u posts(),函数($byTime,$post){
$start=strottime($post->w_start);
$end=strottime($post->w_end);
如果(时间()>$start&&time()<$end){
$section='当前';
}elseif(时间()>$end){
$section='过去';
}否则{
$section='未来';
}
//将此帖子添加到正确的部分
$byTime[$section][]=$post;
按时间返回$byTime;
}, [
“过去”=>[],
“当前”=>[],
“未来”=>[],
]);
然后,在视图代码中,您可以使用一个简单的节数组:
<h2>Current Webinars</h2>
{% for webinar in posts_by_time.current %}
{# render each current post #}
{% endfor %}
{# and so on for future & past #}
当前网络研讨会
{time.current%}
{#呈现每个当前帖子#}
{%endfor%}
{#等着看未来和过去}
注意:我没有测试这段代码,但这是一般的想法。我建议您在PHP模板中循环您的帖子,以便它们在上下文中分开。该功能可以帮助:
$context['posts\u by\u time']=array\u reduce(Timber::get\u posts(),函数($byTime,$post){
$start=strottime($post->w_start);
$end=strottime($post->w_end);
如果(时间()>$start&&time()<$end){
$section='当前';
}elseif(时间()>$end){
$section='过去';
}否则{
$section='未来';
}
//将此帖子添加到正确的部分
$byTime[$section][]=$post;
按时间返回$byTime;
}, [
“过去”=>[],
“当前”=>[],
“未来”=>[],
]);
然后,在视图代码中,您可以使用一个简单的节数组:
<h2>Current Webinars</h2>
{% for webinar in posts_by_time.current %}
{# render each current post #}
{% endfor %}
{# and so on for future & past #}
当前网络研讨会
{time.current%}
{#呈现每个当前帖子#}
{%endfor%}
{#等着看未来和过去}
注意:我没有测试这段代码,但这是一般的想法
<h2>Current Webinars</h2>
{% for webinar in posts_by_time.current %}
{# render each current post #}
{% endfor %}
{# and so on for future & past #}