【发布时间】:2019-01-27 08:55:33
【问题描述】:
所以,我基本上是在尝试将每年按组排序的帖子存档。我正在使用 ACF 日期选择器 并使用 getProdYear(); 函数从每个日期中提取年份。然后我尝试关注this 示例
为每年创建一个组。
PHP:
function getProdYear() {
$dateBeg = get_field('prod_date_beg');
$yB = substr($dateBeg, 0, 4);
$mB = substr($dateBeg, 4, 2);
$dB = substr($dateBeg, 6, 2);
$timeB = strtotime("{$dB}-{$mB}-{$yB}");
global $prod_year;
$prod_year = date('Y' , $timeB );
}
$args = array(
'category_name' => 'produktion',
'numberposts' => -1,
'order' => 'DSC',
'orderby' => 'meta_value',
'meta_key' => 'prod_date_beg',
);
$posts = get_posts($args);
$group_posts = array();
foreach($posts as $post) :
setup_postdata( $post );
getProdYear(); //run function to get year only from 'prod-date-beg' in $prod_year
if( !isset($group_posts[ $prod_year ]) )
{
$group_posts[ $prod_year ] = array();
}
$group_posts[ $prod_year ][] = $post; //create group
//var_dump($group_posts);
foreach ($group_posts as $year_group => $year_posts) {
echo '<strong>'. $prod_year . '</strong>';
echo '<ul>';
foreach ($year_posts as $post) {
echo '<li>'. get_the_title($post->ID) .'</li>';
}
echo '</ul>';
}
endforeach;
wp_reset_postdata();
【问题讨论】:
标签: php wordpress foreach advanced-custom-fields posts