Вывести страницы с определенным произвольным полем
Есть множество страниц. Большинство страниц имеют произвольное поле (например, "number") со значением от 1 до 500.
Необходимо на каждой странице вывести в автоматическом виде страницы с таким же значением в произвольном поле "number".
Наткнулся на код вроде
// значение произвольного поля 'color' не равно 'blue' $true_args = array( 'meta_query' => array( array( 'key' => 'number', 'value' => '150', 'compare' => '!=' // оператор сопоставления ) ) ); $true_query = new WP_Query( $true_args );
По какой-то причине код ничего не выводит. С аналогичными кодами аналогичная ситуация. Возможно, чего-то не хватает?
Вот такой код. Считывает какое значение вашего поля на данной странице (название поле своё подставить) и на основе его выводит другие 10 результатов:
Объединю ка вопрос и ответ
Вы все правильно нашли, но вашем коде не хватает вывода... Вам нужен такой код.
<?php global $post; // значение произвольного поля 'color' не равно 'blue' $args = array( 'meta_query' => array( array( 'key' => 'number', 'value' => get_post_meta( $post->ID, 'number', 1 ), 'compare' => '!=' // оператор сопоставления ) ), 'posts_per_page' => 10, ); // получаем посты $lastposts = get_posts( $args ); // если посты есть if( $lastposts ){ // выводим посты с помощью цикла foreach( $lastposts as $post ){ setup_postdata($post); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_content(); ?> <!-- здесь можно еще какой-то HTML код доабвить --> <?php wp_reset_postdata(); // сброс } } // если постов нет else { echo 'Постов нет...'; } ?>