Intereting Posts
Как преобразовать DateTime () для отображения времени, основанного на настройке часового пояса WordPress? Отображать все сообщения в настраиваемом типе сообщений, сгруппированные по пользовательской таксономии. Как сортировать сообщения по алфавиту и условия по ID? Переключение баз данных в LocalHost Загружать видео в пользовательскую папку Простая проверка формы для пользовательского типа сообщения в интерфейсе. Не работает Пустая страница при просмотре wp-admin URL-адрес субдомена WordPress CDN недоступен для публики WordPress комментирует уведомление по электронной почте для авторов Использование родительской переменной slug для отображения правильного подменю не работает должным образом Как заменить содержимое редактора tinyMCE в текстовом и визуальном режиме с помощью jQuery? Изменение префикса www в общих настройках и внутренних ссылках onclick post title в файле admin javascript не работает Размещение сообщения WordPress с использованием post_class Как использовать поле «menu_order» для сообщений? Шаблон для другой категории для продукта woocommerce

Запрос и отображение только первой буквой значения get_field

Я не могу найти ответ на свой вопрос, просто надеюсь, что вы найдете это уместным.

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

пример

S

Джейн Габриэлла Мария Санчес
Джон Смит

Итак, я сделал то, что создал собственное поле для фамилии. Он работает и ставит их в правильном порядке. Вот мой код, который я создал с помощью некоторого ресурса здесь . Единственное, что я хотел бы сделать, это запросить только первую букву get_field ('family_name', $ term). Уметь группировать их на моей странице. A, B, C, D …..

<?php $terms = get_terms('contributors'); $args = array('contributors' => $term->slug); $query = new WP_Query( $args ); $order_terms = array(); foreach( $terms as $term ) { $position = get_field('family_name', $term); $order_terms[$position] ='<li><a href="'. get_bloginfo( 'url' ) . '/contributors/' . $term->slug . '">'.$term->name.'</a></li>'; } ksort($order_terms); foreach( $order_terms as $order_term ) { echo $order_term; } ?> 

Может быть, это невозможно, дайте мне знать.

Заранее спасибо.

Solutions Collecting From Web of "Запрос и отображение только первой буквой значения get_field"

Надеюсь, что код ниже кода поможет вам. Пожалуйста, внимательно прочитайте комментарии. Блок кода-

 // Your previous code. // Say this is your $oder_terms variable $order_terms = array( 'Sanchez' => 'Sanchez Link', 'Smith' => 'Smith Link', 'Dramatist' => 'Dramatist Link', 'Rashed' => 'Rashed Link', 'Munez' => 'Munez Link', 'James' => 'James Link', 'Jacky' => 'Jacky Link', ); ksort($order_terms); // After ksort($order_terms); we get below array /* Array ( [Dramatist] => Dramatist Link [Jacky] => Jacky Link [James] => James Link [Munez] => Munez Link [Rashed] => Rashed Link [Sanchez] => Sanchez Link [Smith] => Smith Link ) */ // Now we need to group them on the basis of alphabet. Right ? $new_order_terms = array(); foreach($order_terms as $key => $value) { $firstLetter = substr($value, 0, 1); $new_order_terms[$firstLetter][$key] = $value; } // Now if you do print_r($new_order_terms); your output will be /* Array ( [D] => Array ( [Dramatist] => Dramatist Link ) [J] => Array ( [Jacky] => Jacky Link [James] => James Link ) [M] => Array ( [Munez] => Munez Link ) [R] => Array ( [Rashed] => Rashed Link ) [S] => Array ( [Sanchez] => Sanchez Link [Smith] => Smith Link ) ) */ // All grouped by their first letter. 

Поэтому я, наконец, смог решить свою проблему, используя два поля, которые я добавил в свое пользовательское таксононие под названием «Авторы». Один для администратора сайта, чтобы написать фамилию каждого вкладчика и поле, чтобы указать, в какой группе букв оно принадлежит.

Я уверен, что будет проще прописать это, но с моим ограничением в кодировании это лучшее, что я мог бы сделать.

Вот мой код:

  <!-- Letter A --> <?php $terms = get_terms(array( 'taxonomy' => 'contributors', 'meta_key' => 'letter_group', 'meta_value' => 'a' )); if(!empty ($terms)) { $args = array( 'contributors' => $term->slug, ); $query = new WP_Query( $args ); ?> <section class="names"> <h3>A</h3> <p> <?php $order_terms = array(); foreach( $terms as $term ) { $position = get_field('family_name', $term); $order_terms[$position][] ='<a href="'. get_bloginfo( 'url' ) . '/contributors/' . $term->slug . '">'.$term->name.'</a><br>'; } ksort($order_terms); foreach( $order_terms as $a ) { foreach($a as $order_term) echo $order_term;} wp_reset_postdata(); ?> </p> </section> <?php } ?>