如果有人搜索术语xperia z1
,则网址格式如下:
domain.com/?s=xperia+z1
是否有根据搜索模式中的短语显示不同的侧边栏?
在上面的示例中,我希望显示sony
侧边栏。
等等。
我设法让它运转起来:
<?php if ( isset($_GET['s']) && $_GET['s']=="xperia") { ?>
<?php get_sidebar('sony'); ?>
<?php } else { ?>
<?php if ( isset($_GET['s']) && $_GET['s']=="lumia") { ?>
<?php get_sidebar('nokia'); ?>
<?php } else { ?>
<?php get_sidebar('left'); ?>
<? } ?><? } ?>
问题是我想要通配符匹配。当前代码特定于“xperia” 如果有人搜索“xperia 123”
,我希望它也能点火我知道.htaccess规则是:
RewriteCond %{QUERY_STRING} (?:^|&)s=.*?xperia[^&]*(?:&|$)
RewriteRule ^ /blahblah/blah/? [L,R]
但我不知道如何将其复制到PHP代码中。
我试过了:<?php if ( isset($_GET['s']) && $_GET['s']==".*?xperia[^&]*(?:&|$)") { ?>
当然没有运气。
答案 0 :(得分:0)
试试这个而不是你的:
<?php if ( isset($_GET['s']=='xperia+z1')) { ?>
<?php dynamic_sidebar('sony'); ?>
<?php } else { ?>
<?php if ( isset($_GET['s']=='nokia')) { ?>
<?php dynamic_sidebar('nokia'); ?>
可能有帮助