2016-12-21 1 views
1

У меня есть блог WordPress и вы хотите только показать все теги, которые начинаются с буквы A. Я имею в виду все теги, перечисленные на полном веб-сайте. Мне нужен массивный список всех тегов, которые начинаются с буквы А, которые содержатся в полном блоге.Список WordPress Теги, начинающиеся с буквы A

Все другие теги (начиная с B, C и т. Д.) Не отображаются.

В следующем коде перечислены теги, содержащие букву «a», но мне нужны теги, которые начинаются с буквой «a».

<ul class="index-p clearfix"> 
<h3>A</h3> 
<?php 
$tags = get_tags(array('name__like' => "a", 'order' => 'ASC')); 
foreach ((array) $tags as $tag) { ?> 
<li> 
<a href="<?php echo get_tag_link($tag->term_id) ?>"> 

<span class="info"> 
<span class="name"><?php echo $tag->name ?></span> 
</span> 
</a> 
</li> 
<?php } ?> 
</ul> 

Поскольку WordPress 3.7 name__like не соответствует термины, начинающиеся со строки больше. Я ищу обходной путь.

+0

Я не знаю Wordpress, но php hack должен был фильтровать, то есть 'if (strpos ($ tag-> name, 'a')! == false) {.... показать тег .. .} ' – Sean

+0

Вы можете попробовать использовать параметр поиска с подстановочным знаком ('%'). Например: $ tags = get_tags (array ('search' => "a%", 'order' => 'ASC')). Вы также можете попробовать: $ tags = get_tags (array ('name__like' => "a%", 'order' => 'ASC')); –

ответ

1

Проверка первого символа имени тега и игнорировать, если первый символ не тот, который вы хотите, как показано ниже:

<ul class="index-p clearfix"> 
<h3>A</h3> 
<?php 
$tags = get_tags(array('name__like' => "a", 'order' => 'ASC')); 
foreach ((array) $tags as $tag) { 
if(strtolower(substr($tag->name,0,1)) !="a"){ 
    continue; 
    }?> 
<li> 
<a href="<?php echo get_tag_link($tag->term_id) ?>"> 
<span class="info"> 
<span class="name"><?php echo $tag->name ?></span> 
</span> 
</a> 
</li> 
<?php } ?> 
</ul> 

ПРИМЕЧАНИЕ: Заменить «а» с любой буквой вы хотите.

Смежные вопросы