Intereting Posts
Файл Javascript не загружается Множественные пользователи, редактирующие один документ в wordpress Управление обновлениями WP Core и плагинов для клиентов Как сделать Домашнее меню (Главная страница) используйте index.php вместо page.php Пользовательские поля, прикрепленные к шаблону страницы, отображаются только на экране редактирования, когда страница сохраняется Копирование пользовательских метазначений из существующей почты в дублирующийся пост Как изменять изображения во время загрузки Как сделать аутентификацию WordPress с родительского сайта включить 'wp_enqueue_scripts' (CSS) в несколько шаблонов Может ли WP Customizer работать с отдельными страницами или сообщениями? Как изменить категорию в URL-адресе для сообщений в нескольких категориях? add_external_rule – правила удаляются при посещении страницы постоянных ссылок Blogname и Blogdescription в Pagelines Панель параметров DMS Показать все сообщения в настраиваемом типе сообщений, сгруппированные по пользовательской таксономии Попытка вывести короткий код из функции

Отсортировать категории X по последнему обновлению и показать изображение

Я хочу отображать категории X и сортировать их по последнему обновлению.

Я также хочу захватить изображение последнего сообщения с категорией.

<img src="<?php echo get_image('article_image',1,1,0,NULL,$res75); ?>" /> 

Таким образом, список категорий будет отображаться изображениями с соответствующим названием категории под ним.

Сортировано по последнему обновлению.

Как мне это сделать?

Solutions Collecting From Web of "Отсортировать категории X по последнему обновлению и показать изображение"

Вот одно из решений:

 global $wpdb; $cat_array = $wpdb->get_results( " SELECT terms.*, posts.ID as post_ID FROM wp_terms terms JOIN wp_term_taxonomy term_taxonomy ON terms.term_id = term_taxonomy.term_id JOIN wp_term_relationships term_relationships ON ( term_relationships.term_taxonomy_id = term_taxonomy.term_taxonomy_id AND term_taxonomy.taxonomy = 'category' ) JOIN wp_posts posts ON ( posts.ID = term_relationships.object_id AND posts.post_type='post' AND posts.post_status='publish' ) GROUP BY terms.term_id ORDER BY posts.post_modified_gmt DESC" ); foreach ($cat_array as $cat) { $category = get_term_by( 'ID', $cat->term_id, 'category'); $post = get_post( $cat->post_ID ); echo '<a href="' . esc_attr(get_term_link($category, 'category')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>'; echo get_the_post_thumbnail( $cat->post_ID, 'post-thumbnail' ); echo $category->name .': '.get_the_title( $post->ID ).'</a>'.'<br />'; } 

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

Хорошо, поэтому я понял половину решения.

Этот код перечисляет категории по последнему обновлению;

  <?php $cat_array = array(); $args=array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 10, 'caller_get_posts'=> 1 ); $my_query = null; $my_query = new WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); $cat_args=array('orderby' => 'none'); $cats = wp_get_post_terms( $post->ID , 'category', $cat_args); foreach($cats as $cat) { $cat_array[$cat->term_id] = $cat->term_id; } endwhile; } if ($cat_array) { foreach($cat_array as $cat) { $category = get_term_by('ID',$cat, 'category'); echo '<a href="' . esc_attr(get_term_link($category, 'category')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'.'<br />'; } } wp_reset_query(); ?> 

Тем не менее, я не уверен, как я могу отобразить соответствующее изображение в категории.

С категорией X он должен отображать изображение, принадлежащее последнему сообщению в этой категории.

Кто-нибудь может помочь с этим? Благодаря!