Intereting Posts
Добавление столбца столбца третьей почты: postbox-container-3 Удалите взломанный код – из идей! как создать добавочные обмены в окне редактирования сообщений WordPress? Значения внутри настраиваемого поля, чтобы определить, какие записи категорий отображаться Список ссылок на теги на страницах с навигацией Вставка изображения в сообщение с разным размером изображения Как добавить enctype в multipart / form-data в форму комментариев? Резервный кэш пользователя Замена функциональности меню WordPress плагином Как создать форму электронной почты, в которой используется программа электронной почты гостей, чтобы отправить ее Опросы с соответствующими комментариями? Поделитесь одной таксономией в нескольких блогах в 3.0 Дублирование настраиваемого типа сообщения и его сообщений показать короткие коды в редакторе jQuery | JJ Карусельный плагин – Невозможно установить скорость

Как отображать страницы с пользовательскими полями на одной странице

Я пытаюсь отобразить все страницы с настраиваемыми полями определенного значения. То, что я хотел бы сделать, это использовать текущий заголовок страницы как значение для настраиваемого поля и получить все страницы, которые имеют это значение.

Например:

  • Текущая страница – « Surgery ».
  • Имя настраиваемого поля – « Section ».
  • Значение настраиваемого поля – « Surgery ».

Я смог сделать это с помощью сообщения, используя следующий код, но я не могу понять, как это сделать со страницами.

 <?php woo_loop_before(); ?> <?php if ( get_query_var( 'paged') ) { $paged = get_query_var( 'paged' ); } elseif ( get_query_var( 'page') ) { $paged = get_query_var( 'page' ); } else { $paged = 1; } $query_args = array( 'post_type' => 'post', 'paged' => $paged ); // Do not remove. Used to exclude categories from displaying here. $query_args = apply_filters( '', $query_args ); remove_filter( 'pre_get_posts', 'woo_exclude_categories_homepage' ); query_posts( $query_args ); query_posts('category_name='.get_the_title().'&post_status=publish,future'); if ( have_posts() ) { $count = 0; while ( have_posts() ) { the_post(); $count++; /* Include the Post-Format-specific template for the content. * If you want to overload this in a child theme then include a file * called content-___.php (where ___ is the Post Format name) * and that will be used instead. */ get_template_part( 'content', get_post_format() ); } // End WHILE Loop } else { ?> <article <?php post_class(); ?>> <p><?php _e( 'Sorry, no posts matched your criteria.', 'woothemes' ); ?></p> </article><!-- /.post --> <?php } // End IF Statement ?> <?php woo_loop_after(); ?> 

Вы можете получить страницы с помощью get_pages() , в аргументах, которые вы можете предоставить поисковый запрос для post_meta , например:

 $args = array( 'post_type' => 'page', 'meta_key' => 'section', 'meta_query' => array( array( 'key' => 'section' 'value' => 'surgery' // here you could place get_the_title() 'compare' => '=' ) ) ); $pages = get_pages( $args ); 

Это вернет все страницы (или любые другие типы сообщений в post_type ) с помощью секции meta_key и операции meta_value.

Вы должны изменить цикл, если вы используете этот способ, постройте свой цикл следующим образом:

 foreach( $pages as $page ) : setup_postdata( $page ); ... endforeach; wp_reset_postdata(); 

Надеюсь, что это поможет вам.