如何根据WordPress文章链接获取文章ID?是否存在对应函数?
WordPress中通过文章链接获取ID的方法
当然有啦!WordPress 本身就内置了一个专门干这事的函数——url_to_postid(),完全能满足你通过文章永久链接获取对应ID的需求。
基础用法
这个函数的使用非常直接,只需要传入完整的文章永久链接(记得带上http://或https://协议头),就能返回对应的文章ID:
// 传入你的文章链接 $post_id = url_to_postid( 'https://site.com/the-first-post' ); // 输出结果 echo $post_id; // 如果匹配到文章,会输出对应的数字ID,比如1
如果链接对应的文章不存在,函数会返回0,你可以根据这个返回值做后续的错误处理。
自定义封装(符合你提到的Sample_function形式)
如果你想封装成自己命名的函数,也很简单,只需要把url_to_postid()包一层就行,还可以加上额外的逻辑:
function Sample_function( $url ) { $post_id = url_to_postid( $url ); // 可选:如果没找到文章,返回false而不是0 return $post_id !== 0 ? $post_id : false; } // 使用示例 echo Sample_function( 'https://site.com/the-first-post' );
注意事项
- 必须传入完整的链接,包括协议(http/https),否则函数可能无法正确解析;
- 不管你的永久链接是默认结构、日期结构还是自定义结构,
url_to_postid()都能自动解析匹配; - 这个函数不仅能处理文章,还能处理页面(Page)的链接,返回对应的页面ID。
内容的提问来源于stack exchange,提问作者Majid
相关产品推荐
相关产品推荐

