WordPress the_title()限制'关键字'

时间:2011-12-28 18:26:17

标签: php wordpress

我想知道如果帖子的标题包含特定关键字,是否在循环中有一种方法可以停止显示帖子?

由于

5 个答案:

答案 0 :(得分:4)

不使用the_title(),而是使用get_the_title()。区别在于the_title()直接输出标题,而get_the_title()则返回它。因此,你可以做一个简单的条件:

if(strpos(get_the_title(), 'Keyword') === false) {
    // Title does not contain Keyword
}

答案 1 :(得分:1)

在循环开头添加以下内容:

<?php if (stristr(get_the_title(),"keyword")) continue; ?>

这种方法的一些优点:

  1. 它反转了逻辑,因此您不必将整个循环置于条件中。
  2. stristr将匹配标题中子字符串 where 的出现,其中strpos不会捕获关键字位于标题开头的匹配项。有时整数值0的计算结果为false。请参阅the PHP manual
  3. stristr不区分大小写(使用

答案 2 :(得分:0)

目前为止这两个答案都是可以接受的。我希望在可能的情况下不要在条件句中包装代码块。

if ( preg_match('/keyword/', get_the_title() ) {
    continue;
}

答案 3 :(得分:0)

有一个wp_title过滤器可以用干净的方式过滤标题内容(如果我记得很清楚的话,将在3.3上个月推出)。

http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title

答案 4 :(得分:-1)

if( !preg_match( "'keyword'", get_the_title() ){
    //the loop
}

使用strpos效率更高;使用preg_match更灵活,因为您可以稍后添加正则表达式或单词列表。