仅基于url检索id

时间:2014-03-19 10:25:23

标签: php wordpress

假设我在wordpress中有一个如下所示的网址:http://my-domain.com/page/34282其中34282是帖子的ID。

根据网址检索id的最简洁方法是什么(在这种情况下,我无法执行get_the_ID或$ post-> ID之类的操作)。感觉有点hacky做str_replace或正则表达式,我希望wordpress有内置的东西。

3 个答案:

答案 0 :(得分:0)

我认为您可以使用explode()函数来实现此目标

$url = 'http://my-domain.com/page/34282';
$url_array = explode("/",$url);
$id = $url_array[count($url_array) - 1];
echo $id;
//print 34282

答案 1 :(得分:0)

使用此功能:

function getUriSegment($n) {
    $segs = getUriSegments();
    return count($segs)>0&&count($segs)>=($n-1)?$segs[$n]:'';
}

然后你可以使用:

echo getUriSegment(2); // echo's ID

虽然这对PHP整体来说更多,但Wordpress可能内置了一些东西。

Source of code

答案 2 :(得分:0)

尝试

$urlArr = explode("/", $url);
$id = end($urlArr);