Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую! eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Сортировка меток в нужном порядке

Нужно вывести список меток, где первыми будут нужные метки, а потом остальной список.

Если есть готовые решения или как лучше это реализовать подскажите.

Я хочу реализовать примерно так.
Создать произвольное поле и указать там ID важных меток.

В итоге у меня будет 2 переменных

$id_main_tag = "5, 22, 40"; //это id из моего поля
$id_all_tag = "2, 5, 10, 22, 40, 45"; //это весь список меток

Как из "id_all_tag" удалить id: 5, 22, 40

чтобы получилось:

$id_all_tag = "2, 10, 45";
0
lethalblo
1.1 года назад 58
  • 0
    Kama 9903
    $id_main_tag = '5, 22, 40';
    $id_all_tag  = '2, 5, 10, 22, 40, 45';
    
    $main_ids = wp_parse_id_list( $id_main_tag );
    $all_ids  = wp_parse_id_list( $id_all_tag );
    
    $filtered_ids = array_values( array_diff( $all_ids, $main_ids ) );
    $id_all_tag   = implode( ', ', $filtered_ids );
    
    // $id_all_tag === '2, 10, 45'
    

    dntknw

    lethalblo 1.1 года назад

    Фильтр сработал, но сделать так, как хотел не получилось.

    В переменной $tax хранятся не только ID меток, как я думал, там целый массив данных.

    Можно каким-то образом сделать сортировку меток, если у нас есть переменная с ID которые должны стоять в самом начале?

    function my_tax_list(){
    	$tag_str = null;
    	$id = null;
    	$tax = get_the_terms( $id, 'my_tax' );  
    	if($tax){
    
    		foreach($tax as $tag){          
    			$term_id = $tag->term_id;   
    			$tag_str .= '<li>'.$term_id.'</li>';            
    		}
    		$tag_str .= '</li>';  
    
    		echo  $tag_str;
    	}   
    
    }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация