ACF WordPress & amp; страница архива категорий сортировки

Я использую плагин acf wordpress для добавления логического поля (featured_project) в пользовательский пост (проект).

Я пытаюсь отсортировать посты на странице архива категорий, чтобы показать посты, показанные сверху и не показанные внизу.

Есть несколько категорий с одинаковым типом поста.

Я читал некоторые другие подобные проблемы, где решения должны были использовать ‘wp_query’ или pre_get_posts, но я не могу заставить его работать.

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if ( get_field('featured_project') ) { ?>
<article class='project featured' id="post-<?php the_ID(); ?>" <?php post_class( 'cf' ); ?> role="article">
<a href='<?php the_permalink(); ?>'>
<h3 class="h2"><?php the_title(); ?></h3>

<?php
$url =  wp_get_attachment_url( get_post_thumbnail_id() );
$width = 300;
$height = 200;
$crop = true;
$retina = false;

// Call the resizing function (returns an array)
$image = matthewruddy_image_resize( $url, $width, $height, $crop, $retina );

?>
<img src='<?php echo $image['url']; ?>'/ alt='<?php the_title(); ?>'>
</a>
<?php // the_post_thumbnail( 'projects-full', false ); ?>

<div class='excerpt'><?php the_excerpt(); ?></div>
</article>
<?php } else { ?>

является частью кода в файле категории.

Спасибо

Обновление: все еще не нашли решение, может кто-нибудь еще вмешиваться?

0

Решение

Ну, проблема и решение не в этом блоке кода … Проблема в запросе,
Чтобы исправить это, вы должны запросить также мета-ключ

<?php
$args = array_merge( $query,
array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'featured_project',
'value' => 1, // test if your value is a number or string
//'type' => 'BINARY', //Maybe you should cast the meta value
'compare' => '='
),
),
)
);
$custom_query = new WP_Query( $args ); ?>
?

<?php if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); ?>
<?php if ( get_field('featured_project') ) { ?>

Может быть, вы также должны добавить порядок в запросе (что-то вроде 'orderby' => ' meta_value_num date'

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]