Wordpress:如何只显示标签而不显示数字


Wordpress: How to show only tags without containing numbers?

我需要一个解决方案,它使我能够在wordpress页面上的列表下面只显示不包含数字的标记。

这是我的代码:

<?php
        $tags_html = '';
            foreach($tags as $single_tag) 
             {
$count++;
if (1 == $count)
 {
  $tags_html .= '<a href="'.get_term_link($single_tag, 'spot_tags').'">'.$single_tag->name.'</a>, ';
}
                //// ADDS TO OUR MARKUP
            }
            //// TRIMS LAST COME
            echo rtrim($tags_html, ', ');
        ?>
    </span> 

    <?php }
    ?>

属于包含数字的帖子/列表的所有标签都不应显示,不包含数字的标签可以显示在列表下方。

有什么想法吗?

除非您发布$single_tagvar_dump(),否则我无法知道它的确切结构,但以下是您需要防止显示带有数字内容的标签的if代码:

if(!preg_match('/'d/',$single_tag))
{
    $tags_html .= '<a href="'.get_term_link($single_tag, 'spot_tags').'">'.$single_tag->name.'</a>, ';
}

它使用''d正则表达式转义序列来检查字符串是否包含数字。

如果标签在字符串中,则需要这两行(构建数组)

$string = '34hj, wer, wer35, rwer, 5345, 5dgg45, sdfa';
$tags = explode(',', $string);

否则,如果你的标签已经在一个数组中,就像下面一样,你就不需要上面的

$tags = array('34hj', 'wer', 'wer35', 'rwer', '5345', '5dgg45', 'sdfa');

最后,您需要这个片段,它将排除包含任何数字的标记。

foreach($tags as $tag) {
    if(preg_match('/^[^'d]+$/', $tag));
    echo trim($tag) . "'n";
}

工作演示