Intereting Posts
Что такое генерация похожих сообщений и связанных записей в моем блоге? Редактировать страницу или сообщение из верхней панели администратора Не удается получить доступ к wp-admin получить все электронные письма как базу данных в WordPress для просмотра всех отправленных писем Список ссылок на теги на страницах с навигацией get_posts (), казалось бы, игнорируя post_type Создание полезных функций в вашей теме Возвращает один уникальный результат пользовательского типа сообщения, когда он разделяет пользовательскую таксономию в WP_QUERY? Какой виджет использовать для публикации в разделе категории? Как отредактировать HTML и сохранить его так же, как и после переключения в Visual Editor в WordPress? Как WordPress реагирует на нехватку памяти сервера Загрузка файла wordpress с помощью ajax, когда сайт является ajaxyfi Как получить все отображаемые размеры изображений и их URL? Слойные классы изображений из HTML-вывода Изменение типа персонализированной почты с помощью функции / фильтра

Сортировка меток по первой букве или номеру

У меня есть 200 тегов, которые я создаю на веб-сайте каталога фильмов, например, в качестве примера

The Wolf of Wall Street (2013) Goodfellas (1990) Catch Me If You Can (2002) Monster (2003) The Bling Ring (2013) Devil's Knot (2013) The Frozen Ground (2013) Public Enemies (2009) American Gangster (2007) The Iceman (2012) 

мои требования

  1. Я хочу показать выбранный тег фильма, который начинается с «A или любого алфавита», когда пользователь нажимает на код ссылки, будет генерировать тег списка, начинающийся с «A».

  2. Показывать список фильмов через годы, как вы отметили выше, тег содержит годы в количестве, поэтому можно показывать теги через год, как пользовательский щелчок на 2003, который будет генерировать список.

перед публикацией здесь я искал все по сети: (ну, я нашел что-то вроде

 <?php query_posts('tag=$tag'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="title"> <?php echo get_the_title ;?> </div> <?php endwhile; endif ;?> 

Solutions Collecting From Web of "Сортировка меток по первой букве или номеру"

Из того, что я могу прочитать в ваших комментариях (и ваш следующий вопрос), вы пытаетесь перехватить WHERE вашего запроса. Имя, name__like вы упомянули в своем другом вопросе, не будет работать для того, чего вы пытаетесь достичь. Предложение построено таким образом get_terms() (основная функция get_tags() ):

 if ( ! empty( $args['name__like'] ) ) { $where .= $wpdb->prepare( " AND t.name LIKE %s", '%' . $wpdb->esc_like( $args['name__like'] ) . '%' ); } 

Как вы можете видеть, это %YOURTERM% , поэтому он соответствует не только с самого начала, но и с самого конца. Короче говоря: это не то, что вы хотите .

После чтения источника это просто: вам нужно перестроить полный запрос. Для этого есть фильтр:

 $clauses = apply_filters( 'terms_clauses', compact( $pieces ), $taxonomies, $args ); 

Просто добавьте обратный вызов и измените свой запрос на $wpdb->esc_like( 'term' ).'%' :

 add_filter( 'terms_clauses', function( $sql, $taxonomies, $args ) { // rebuild your query here return $sql; }, PHP_INT_MAX -1, 3 ); 

Поскольку упорядочение сообщений по значению тегов не является обычным явлением, вы не можете упорядочить цикл по тэгам. Для этого вам придется использовать несколько циклов WP (или создать пользовательский запрос БД). Таким образом, вам нужен цикл foreach для каждого тега и внутри цикла цикла WP_Query. Что-то вроде этого:

 $tags = get_tags(); foreach ( $tags as $tag ) { $query = new WP_Query( array( 'tag' => $tag->term_id, 'orderby' => 'meta_value', 'order' => ASC ) ); while( $query->have_posts ) { // print posts } } 

Я не пробовал это, но что-то вроде этого должно работать.