WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Помогите решить задачу по выводу ккастомных записей

Есть несколько типов своих записей
Нужно вывести 10 последних записей по 5 шт из двух своих типов записей отсортированных в произвольном порядке.

$args = array(
	'post_type' => array(
		'post_type' => 'news',
		'teams' => 'recipes',
		'showposts' => "6",
	),
	'orderby' => "ASC",
	'caller_get_posts' => 1
);
$my_query = new wp_query($args);
Заметки к вопросу:
smolanov_sergey 1.4 года назад

Спасибо всем, буду пробовать

0
smolanov_sergey
1.4 года назад
  • 0
    el-lable620 el-lable.ru
    $post_ids = [];
    foreach( ['первый_кастомный_тип_записи', 'второй_кастомный_тип_записи'] as $post_type ) {
    	$args = [
    		'post_type' => $post_type,
    		'post_status' => 'publish',
    		'numberposts' => 5,// The half from 10 post's count
    		'orderby' => 'date',
    		'order' => 'DESC',
    		'fields' => 'ids',
    	];
    	$post_ids = array_merge( $post_ids, get_posts( $args ) );
    }
    
    $my_query = new wp_query( [
    	'post__in' => shuffle( $post_ids ),
    ] );
    
    // The Rest ...
    el-lable 1.4 года назад

    mi13 - Внимательно(!) прочитайте ТЗ, потом комментируйте.

    mi13 1.4 года назад

    Ну да, сори, если строго по 5, то рандом не прокатит.

    el-lable 1.4 года назад

    На самом деле, есть еще проблема с этим злополучным рандомом, он не на всех хостингах работает на уровне MySQL.

    mi13 1.4 года назад

    Попробуйте
    ar1 = get_posts(первый)
    ar2 = get_posts(второй)
    Далее перемешать каждый массив
    Далее добавить в третий массив ar3 по одному с каждого.

    foreach( $ar3 as $post ) {
    	$post->post_title;
    	$post->ID;
    }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация