WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

WP_Query сортровка по годам

В каждой записи есть такосномия с указанным годом
Хочу доработать навигацию и сделать чтобы выводились записи по заданным годам.

Сейчас записи выводится просто по заданному конкретному году

if (!empty($_GET['tax_god'])) {
   $args['tax_query'][] = array(
	  'taxonomy'  => 'god',
	  'field'     => 'slug',
	  'terms' => $_GET['tax_god'],
);}

Хочу сделать, чтобы записи выводились с заданного года по заданный год, (к примеру с 2010 по 2020)

0
lethalblo
1 месяц назад 12
  • 0
    Kama8418

    Есть же даты: https://wp-kama.ru/function/wp_query#datetime

    Если нужны именно таксы, то тебе нужно собрать нужные года в массив и указать их в terms.

    if ( ! empty( $_GET['tax_god'] ) ) {
    
    	$year = (int) $_GET['tax_god'];
    	$cur_year = (int) date('Y');
    
    	// защита от зацикливания разница не больше 100 лет
    	if( abs( $cur_year - $year ) < 100 ){
    
    		$years = [];
    		while( $year <= $cur_year ){
    			$years[] = $year;
    			$year++;
    		}
    
    		$years = [ 2010, 2011, 2012 ... 2021 ];
    
    		$args['tax_query'][] = array(
    		  'taxonomy'  => 'god',
    		  'field'     => 'slug',
    		  'terms' => $years,
    		);
    	}
    
    	/* $years 
    	Array
    	(
    		[0] => 2010
    		[1] => 2011
    		[2] => 2012
    		[3] => 2013
    		[4] => 2014
    		[5] => 2015
    		[6] => 2016
    		[7] => 2017
    		[8] => 2018
    		[9] => 2019
    		[10] => 2020
    		[11] => 2021
    	)
    	*/
    }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация