Задать вопрос
@akf_13rm

Как сортировать вывод постов по значению поля Carbon Field?

Здравствуйте!
На Главной странице вывожу статьи с произвольного типа записи. Использую плагин Carbon Fields, поле association.
618310785f8f9906069058.png
Сами статьи выводятся как нужно. А проблема вот в чем:
Если поменять статьи между собой местами (с помощью drag and drop поля association), то на фронте этого не происходит - статьи выводятся в том порядке, в котором они созданы:
618311faed048815934703.png

Код поля association в Carbon Fields:
Container::make( 'post_meta', 'Дополнительные поля' )
  ->show_on_page(7)

  ->add_tab( 'Каталог', [
    Field::make( 'association', 'catalog_products', 'Товары' )
    ->set_types( [
        [
            'type'      => 'post',
            'post_type' => 'programs',
        ]
     ] )
  ]);


Код вывода произвольного типа записи на Главной:
<ul class="prepare_select_list img_width">
        

		<?php $page_id = get_the_ID(); ?>

    <?php
      $catalog_products = carbon_get_post_meta( $page_id, 'catalog_products' );
      $catalog_products_ids = wp_list_pluck($catalog_products, 'id');

      $catalog_products_args = [
        'post_type' => 'programs',
        'post__in' => $catalog_products_ids
      ];
      $catalog_products_query = new WP_Query( $catalog_products_args );

      $catalog_products_count = wp_count_posts('programs');
      $catalog_products_count_publish = $catalog_products_count->pulish;
    ?>


    <?php if ( $catalog_products_query->have_posts() ) : ?>

      <?php while ( $catalog_products_query->have_posts() ) : $catalog_products_query->the_post(); ?>
            <li>
                <a href="<?php the_permalink(); ?>" class="wrap_prepare_select_list">
                    <div class="img_prepare_select_list">
	                    <?php echo get_the_post_thumbnail(get_the_ID()); ?>
                    </div>
                    <p class="info_prepare_select_list"><?php the_title(); ?></p>
                </a>
            </li>
      <?php endwhile; ?>

    <?php endif; ?>
			<?php
			wp_reset_postdata(); ?>
	</ul>


Я пытался сортировать посты по значению поля Carbon Fields, но не помогло:
$catalog_products_args = [
        'post_type' => 'programs',
        'orderby' => 'text_field',
        'order' => 'asc',
        'meta_query' => array(
          'text_field' => array(
            'key' => 'catalog_products',
            'compare' => 'EXISTS',
        	),
    		),
        'post__in' => $catalog_products_ids
      ];


Помогите пожалуйста, может кто сталкивался с подобной проблемой..
  • Вопрос задан
  • 399 просмотров
Подписаться 1 Средний 6 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы