检查url是否有条件

时间:2015-11-04 09:17:14

标签: php wordpress

所以,我对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))

有什么建议吗?

2 个答案:

答案 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
}