'service', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => array( 'menu_order' => 'ASC', 'date' => 'DESC', ), )); $grouped_services = array(); $uncategorized_items = array(); if ($services_query->have_posts()) { while ($services_query->have_posts()) { $services_query->the_post(); $service_id = get_the_ID(); $service_terms = get_the_terms($service_id, 'service_category'); $service_url = function_exists('itstudio_get_service_target_url') ? itstudio_get_service_target_url($service_id) : get_permalink($service_id); $service_url = is_string($service_url) ? trim($service_url) : ''; if ($service_url === '') { $service_url = '#'; } $i18n_content = function_exists('itstudio_get_service_i18n_content') ? itstudio_get_service_i18n_content($service_id, 90) : array( 'title_cn' => get_the_title($service_id), 'title_en' => get_the_title($service_id), 'excerpt_cn' => function_exists('itstudio_get_post_excerpt_chars') ? itstudio_get_post_excerpt_chars($service_id, 90) : wp_html_excerpt(wp_strip_all_tags(get_the_excerpt() ?: get_the_content()), 90, '...'), 'excerpt_en' => function_exists('itstudio_get_post_excerpt_chars') ? itstudio_get_post_excerpt_chars($service_id, 90) : wp_html_excerpt(wp_strip_all_tags(get_the_excerpt() ?: get_the_content()), 90, '...'), ); $item = array( 'id' => $service_id, 'title_cn' => $i18n_content['title_cn'], 'title_en' => $i18n_content['title_en'], 'url' => $service_url, 'excerpt_cn' => $i18n_content['excerpt_cn'], 'excerpt_en' => $i18n_content['excerpt_en'], 'has_thumb' => has_post_thumbnail($service_id), 'term_name_cn' => '', 'term_name_en' => '', ); if (!empty($service_terms) && !is_wp_error($service_terms)) { $primary_term = $service_terms[0]; $term_id = (int) $primary_term->term_id; $term_labels = function_exists('itstudio_get_service_category_i18n_labels') ? itstudio_get_service_category_i18n_labels($primary_term) : array('cn' => $primary_term->name, 'en' => $primary_term->name); $item['term_name_cn'] = $term_labels['cn']; $item['term_name_en'] = $term_labels['en']; if (!isset($grouped_services[$term_id])) { $grouped_services[$term_id] = array( 'term' => $primary_term, 'items' => array(), ); } $grouped_services[$term_id]['items'][] = $item; } else { $item['term_name_cn'] = '未分类'; $item['term_name_en'] = 'Uncategorized'; $uncategorized_items[] = $item; } } wp_reset_postdata(); } $sections = array(); if (!empty($grouped_services)) { $ordered_terms = get_terms(array( 'taxonomy' => 'service_category', 'hide_empty' => true, )); if (!is_wp_error($ordered_terms) && !empty($ordered_terms)) { foreach ($ordered_terms as $term) { $term_id = (int) $term->term_id; if (!isset($grouped_services[$term_id])) { continue; } $term_labels = function_exists('itstudio_get_service_category_i18n_labels') ? itstudio_get_service_category_i18n_labels($term) : array('cn' => $term->name, 'en' => $term->name); $sections[] = array( 'slug' => sanitize_title($term->slug), 'name_cn' => $term_labels['cn'], 'name_en' => $term_labels['en'], 'items' => $grouped_services[$term_id]['items'], ); } } else { foreach ($grouped_services as $group) { $term_labels = function_exists('itstudio_get_service_category_i18n_labels') ? itstudio_get_service_category_i18n_labels($group['term']) : array('cn' => $group['term']->name, 'en' => $group['term']->name); $sections[] = array( 'slug' => sanitize_title($group['term']->slug), 'name_cn' => $term_labels['cn'], 'name_en' => $term_labels['en'], 'items' => $group['items'], ); } } } if (!empty($uncategorized_items)) { $sections[] = array( 'slug' => 'uncategorized', 'name_cn' => '未分类', 'name_en' => 'Uncategorized', 'items' => $uncategorized_items, ); } ?>

便民服务

暂无便民服务

请先在后台“便民服务”中添加服务条目。

前往新增服务