如果当前页面的网址在meta_key popup_display_pages中,我试图插入弹出窗口。 popup_display_pages是一个数组。
未显示添加了meta_query的优惠券。我是否使用了不正确的meta_query?
<?php global $wp;
$currentURL = home_url( $wp->request );
$args = array (
'post_type' => 'popup',
'posts_per_page' => '-1',
'meta_query' => array(
array(
'key' => 'popup_display_pages',
'value' => $currentURL,
'compare' => 'IN'
)
)
);
$recent = new WP_Query($args); if($recent->have_posts()) :?>
<?php while($recent->have_posts()) : $recent->the_post();?>
<div class="coupon test">
<?php the_content();?>
</div>
<?php endwhile;
endif;?>
编辑1
$ currentURL的Var_Dump:字符串(31)“ http://localhost:8888/test-page” $ recent的Var_Dump:https://hastebin.com/lihojohabi.cpp
问题的答案:
a:2:{i:0; s:31:“ http://localhost:8888/test-page”; i:1; a:1:{i:0; s:31:“ http://localhost:8888/test-page”;} }
答案 0 :(得分:0)
在查询中,您正在查询包含www.domainname.example / your-current-path的帖子类型“ popup”的帖子。
但是,如果您的元值存储为http://www.domainname.example/your-current-path/,则可能没有匹配项。 (请注意末尾的斜杠和/或http://)。
因此,var_dump $ currentUrl会检查该值并知道查询中正在使用什么,然后检查该值是否符合预期。有关使用home_url构建currentPath的更多信息,请参见:https://codex.wordpress.org/Function_Reference/home_url