Get the object ID by URL

时间:2012-04-17 作者:porton

我有一个URL(例如URL/sample-page/), 我需要相应的对象ID。如何?

4 个回复
SO网友:shabushabu

尝试此功能:

url_to_postid( $url );
TheWordPress codex 是你的朋友。快速的谷歌搜索可以提供答案。

SO网友:krembo99

其他答案是有效的,但只是为了添加另一个(通常未知,但非常有用)方法,该方法由一个名为:get_page_by_path();

$page =get_page_by_path(\'parent-page/sub-page\');
值得注意的是,path参数甚至可以将SLUG作为参数。示例:

$page = get_page_by_path(\'your-slug-of-page-to-exclude\');
wp_list_pages(\'exclude=\'.$page->ID.\'&title_li=\');
那么你可以使用$page->ID

SO网友:fuxia

使用get_queried_object_id() 的映射器WP_Query::get_queried_object_id().

不像url_to_postid() 你不必知道URL,它也适用于分类法和自定义帖子类型(如果我没记错的话)。

有关用法示例,请参见myanswer to Get current term\'s ID.

SO网友:elbatron

我也有同样的问题,只有自定义帖子类型。不幸地url_to_postid( $url ); 无法使用自定义类型,因此我最终使用了此函数bwp_url_to_postid($url).此函数扩展url_to_postid( $url ); 使用自定义帖子类型。

如果您拥有URL的永久链接,则:

<?php $postLink = get_permalink($post_object->ID); ?>
<?php $postId = bwp_url_to_postid($link); ?>
<?php echo $postId ?>

结束

相关推荐

customizing recent posts

我正在写我的第一个wordpress博客,如果可能的话,我会尽量避免使用插件,因为很多东西实际上并不需要插件。我对php略知一二(我不懂,但我知道应该把它放在哪里,应该把什么文件放在哪里)。我了解如何更改周围的主题文件,CSS&;HTML。因此,如果我可以通过一些练习和时间来完成它,我宁愿手工编写代码,然后使用插件。我正在尝试设计我的主页侧边栏最近的帖子,我一点也不觉得难,但我不知道如何在最近的帖子中添加图像。我在每一篇帖子中都有一张图片,现在我只是想把第一张图片的缩略图放到我主页上的“最近的博客”