在 Wordpress 中,是否可以阅读帖子的内容并查找关键字,然后相应地显示侧边栏内容?例子:
如果帖子内容包含“奶酪”一词,则不要显示侧边栏广告,否则显示。
有关更多信息,我有超过 500 个帖子,因此不想为每个帖子添加标签或自定义字段。
我会包含代码示例,但我真的不确定是否从 functions.php 中的正则表达式开始,如果是,那么我在侧边栏代码中寻找什么?
提前致谢。
更新 1 - Stripos 似乎比正则表达式更快php.net 上的 Stripos所以我使用了这个。
更新 2 - 我当前的设置...在 index.php (或 page.php 等取决于主题):
<?php
if( has_keyword() ) {
get_sidebar( 'special' );
} else {
get_sidebar( 'normal' );
}
?>
在functions.php中
function has_keyword ()
{
global $post;
$mywords = array('word1', 'word2', 'word3');
foreach($mywords as $word){
// return false if post content does not contain keyword
if( ( stripos( $post->post_content, $word ) === false ) ) {
return false;
};
};
// return true if it does
return true;
}; //end function
我需要让 foreach 函数正常工作,那里有问题。我尝试在成功找到一个单词时使用“break”,但我也需要返回“false”,这就是我添加 if 条件的原因。不知道该怎么做。