Intereting Posts
Доступ к пользовательским полям на страницах Как проверить массив идентификаторов изображений Как загрузить все страницы на одну страницу с помощью своих шаблонов Сортировка записей по дате, смешивающих два типа сообщений Карты с пользовательским вводом Как показать пользовательскую таксономию в постоянной ссылке? Как получить URL-адрес изображения в поле ввода из медиа-библиотеки? Как получить доступ к функциям WordPress за пределами WordPress с двумя различными установками WordPress? Статическая страница с последними сообщениями разбивки на страницы Как проверить, включен ли плагин через API? Как получить персонализированный тип сообщения на странице архива? Функция is_plugin_active_for_network WordPress не работает для мультисайтов Проверьте, находится ли продукт в определенной категории в Functions.php Удаление wpautop в woocommerce включает папку class-wc-order-item.php как изменить меню в подменю

Список всех сообщений в категории с функцией query_post ()

Я C programmer на C programmer , мало знаю о PHP . Я создал блог с wordpress.

Yestoday, я пытаюсь создать страницу www.abc.com/server , на этой странице будут перечислены все записи, относящиеся к категории server .

Я нашел полезную информацию в документе WordPress и Google

Я создал такой шаблон:

 <?php /* * Template name: list_catetory */ ?> <?php get_header(); ?> ... <?php query_posts( 'cat_name = $pagename' ); if(have_posts()) : while(have_posts()) : the_post(); ?> <div class="post-list" id="post-<?php the_ID(); ?>"> <h2> <a href="<?php the_permalink() ?>" title=""><?php the_title(); ?></a> .... </h2> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> ... <?php get_footer(); ?> 

Я создаю страницу с именем server с этим шаблоном.

то я открываю эту страницу, я нашел эту страницу списка всех сообщений.

Почему в нем перечислены все сообщения, а не только список сообщений, относящихся к категории server

Solutions Collecting From Web of "Список всех сообщений в категории с функцией query_post ()"

Здесь есть два вопроса:

  1. Использование query_posts()
  2. Неопределенная переменная $pagename

Я предполагаю, что вы хотите использовать slug страницы в качестве строки, переданной для параметра категории в массиве аргументов запроса? Вы можете получить это через $post->post_name , например:

 global $post; $page_slug = $post->post_name; 

Затем, чтобы передать это как параметр запроса, вы передадите его как 'category_name' .

Наконец, вы хотите вывести пользовательский запрос через WP_Query() , а не вызывать query_posts() :

 // Globalize $post global $post; // Custom query args array $category_query_args = array( 'category_name' => $post->post_name ); // Instantiate category query $category_query = new WP_Query( $category_query_args ); 

Затем вы можете запрограммировать свой пользовательский запрос следующим образом:

 // Open category query loop if ( $category_query->have_posts() ) : while ( $category_query->have_posts() ) : $category_query->the_post(); ?> <div class="post-list" id="post-<?php the_ID(); ?>"> <h2> <a href="<?php the_permalink() ?>" title=""><?php the_title(); ?></a> .... </h2> </div> <?php // Close category query loop endwhile; endif; // Reset $post data wp_reset_postdata();