所以,我对wordpress网站有以下条件:
if (is_page(array(1111, ???)) {
//do something for page# 1111 and url that contains "names"
}
我有一个网址如下:
example.com/names/steve
example.com/names/mike
所以,我想检查网址是否为“名字”。
有人可以告诉我如何更改条件以检查网址中的“姓名”吗?
由于
修改
我改为以下但没有运气。
if ((is_page(1111)) || (preg_match("/\/names$/", $_SERVER['REQUEST_URI'])))
or
if ((is_page(1111)) || (basename($_SERVER['REQUEST_URI']) == 'names'))
or
if ((is_page(1111)) || (strpos($url, 'names') !== false))
有什么建议吗?
答案 0 :(得分:2)
使用正则表达式preg_match()
函数:
<?php
$url = 'example.com/names/steve';
echo (preg_match("/names/i", $url)) ? 'Match' : 'No Match';
?>
所以对于你的例子试试这个:
if (is_page(1111) || preg_match("/\/names\//", $_SERVER['REQUEST_URI'])){
// your logic
}
答案 1 :(得分:2)
$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$myArray = explode("/", $link);
$page = end($myArray);
if($page == '1111') {
//Your code
}
编辑:如果网址包含尾部斜杠(或不包含)
$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$actual_link = rtrim('/', $link);
$myArray = explode("/", $actual_link);
$page = end($myArray);
if($page == '1111') {
//Your code
}