【问题标题】:List WordPress Tags starting for letter A列出以字母 A 开头的 WordPress 标签
【发布时间】:2016-12-21 23:00:12
【问题描述】:

我有一个 WordPress 博客,只想显示所有以字母 A 开头的标签。我的意思是完整网站中列出的所有标签。我需要完整博客中包含的以字母 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 不再匹配以字符串开头的术语。我正在寻找解决方法。

【问题讨论】:

  • 我不知道 Wordpress,但是一个 php hack 可以过滤,即if(strpos($tag-&gt;name,'a') !== false) { ....show the tag ... }
  • 您可以尝试使用带通配符('%')的搜索参数。例如: $tags = get_tags(array('search' => "a%", 'order' => 'ASC') )。你也可以试试: $tags = get_tags(array('name__like' => "a%", 'order' => 'ASC') );

标签: php wordpress tags


【解决方案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>

注意:将“a”替换为您想要的任何字母。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多