我想知道如果帖子的标题包含特定关键字,是否在循环中有一种方法可以停止显示帖子?
由于
答案 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; ?>
这种方法的一些优点:
stristr
将匹配标题中子字符串 where 的出现,其中strpos不会捕获关键字位于标题开头的匹配项。有时整数值0的计算结果为false。请参阅the PHP manual 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更灵活,因为您可以稍后添加正则表达式或单词列表。