我正在编写一个自定义小部件,通过输入逗号分隔的帖子ID列表在Wordpress中显示一组自定义帖子。我必须检索帖子的PHP如下:
<pre>
if ( have_posts() ) : while ( have_posts() ) : the_post();
$postid = get_the_ID();
if ( strpos($instance['posts_ids'], (string)$postid) !== false ):
show the post
</pre>
不幸的是,这并不总是有效。如果我的ID列表包含ID#12497作为其中之一,这将检索该帖子,但也可能检索ID为#249的帖子,因为该字符串匹配。
有什么建议吗?
感谢 JA
答案 0 :(得分:0)
你不能像那样成功找到一个字符串位置。只需在严格模式下爆炸+ in_array。
if ( have_posts() ) : while ( have_posts() ) : the_post();
$postid = get_the_ID();
$ids = explode($instance['posts_ids'], ',');
if ( in_array($ids, $postid, true) !== false ){
[...]
}
}