Здравствуйте.
Второй день воюю с таким функционалом.
Есть пользовательский тип записи "Объявления" – ad
Есть пользовательская таксономия – ads
В этой пользовательской таксономии есть рубрика "Автомобили" и подрубрики согласно производителей – Audi, BMW ….
Каким образом можно реализовать список подрубрик рубрики с буквицей и списком записей. Примерно такой функционал:
А
AUDI
- запись 1
- запись 2
ALFA ROMEO
- запись 1
- запись 2
B
BMW
- запись 1
- запись 2
Чтото похожее нашел (хотя не то что надо). Но проблема – сортировка по названиям постов и не видит кирилицу – только если пост начинается на английском.
<?php
$posts = new WP_Query("ads=auto&cat=$cat&orderby=title&order=ASC&showposts=-1");
if ($posts->have_posts()) :
for($i='A';$i!='AA';$i++) :
?>
<?php
while ($posts->have_posts()) :
$posts->the_post();
if( $i == strtoupper(trim(substr($post->post_title, 0, 1))) ) :
if( !$a_z_header ) :
$a_z_header = 1;
?>
<h3 id="<?php echo $i; ?>"></a><?php echo $i; ?></h3>
<ul>
<?php
endif;
?>
<li><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
endif;
endwhile;
?>
</ul>
<?php
$a_z_header = 0;
endfor;
endif;
?>
Подскажите, как можно реализовать подобный функционал.
Все функции работы со строками типа substr надо поменять на их аналоги работающие с многобайтовой кодировкой (utf-8), в данном случае mb_substr (это чтобы с русскими символами было всё ок).
Александр.
Спасибо за ваш ответ.
Добавил в цикл аналог, все равно русские не выводит.
Сделал вот так
Вам же написали "Все функции". strtoupper – тоже строкаовая функция. Кроме того, имеет смысл явно указывать кодировку.
Матчасть: http://www.php.net/manual/ru/ref.mbstring.php
Если честно, мало что мне это помогло.
Добавил mb_strtoupper – никаких изменений. если добавляю кодировку – выдает ошибку