WordPress the_title()限制如果'关键字'
答
而不是使用the_title()的,使用get_the_title()。区别在于the_title()直接输出标题,而get_the_title()返回标题。因此,你可以做一个简单的条件:
if(strpos(get_the_title(), 'Keyword') === false) {
// Title does not contain Keyword
}
答
if(!preg_match("'keyword'", get_the_title()){
//the loop
}
使用strpos更高效;使用preg_match更灵活,因为您可以稍后添加正则表达式或单词列表。
答
迄今为止的答案都可以接受。如果可能,我不希望在条件中包装代码块。
if (preg_match('/keyword/', get_the_title()) {
continue;
}
答
添加以下在循环的开头:
<?php if (stristr(get_the_title(),"keyword")) continue; ?>
一些优点这种方法:
- 它颠倒逻辑,这样你就不必把你的一个条件内的整个循环。
-
stristr
将匹配标题中任何地方的子字符串的出现,其中strpos将不会捕获匹配,其中关键字在标题的开头。有时整数值0评估为false。见the PHP manual -
stristr
不区分大小写(使用
答
有可能过滤标题内容的清洁方式(上月推出了3.3如果我记得还有一个wp_title过滤器)。
http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title
Re 2,你应该看到PHP手册:'这个函数可能返回布尔值FALSE,但是也可能返回一个非布尔值,其值为FALSE,比如0或者“”,请阅读布尔部分了解更多信息。 ===运算符用于测试这个函数的返回值。“。 – alexn 2011-12-28 18:47:12
alexn的答案使用strpos起作用,因为===比较类型,并且可以区分0和FALSE – paislee 2011-12-28 18:47:42
“有时整数值0评估为false” - 不是在这种情况下。 (0 === false)从来都不是真的 – gotofritz 2011-12-28 18:47:45