如何从WordPress中的给定站点URL获得完整信息

问题描述:

我需要通过给定的站点URL获取完整信息。如何从WordPress中的给定站点URL获得完整信息

例如:

$href = 'http://example.com/news/news-1'; 

我可以

$post_id = url_to_postid($href); 

得到帖子ID然后我就可以通过

$post_type = get_post_type($post_id); 

得到交类型,但它给了我什么,如果这是一个类别网址。那么有没有其他的方式来获得给定网站的信息?这个页面是否存在?它是一个页面还是一个帖子?这是一个类别吗?

很多is_函数可以帮助您确定节点的类型(is_singleis_category等 - 检查https://developer.wordpress.org/reference/functions/page/31/和下一页)。然后你得到关于这个节点的所有信息。

+0

我只有URL字符串。将它传递给例如'is_404()'函数将不起作用。 – Molod

+0

你应该在检查前提取'post_id'。 – br3t

+0

如果我使用'url_to_postid()'这样的类别URL - 'http:// example.com/news'我将接收'post_id' = 0。我想我需要从url字符串中获取slug,然后开始检查通过'is_'功能.. – Molod

您应该使用get_queried_object它会返回查询objevt型,ID等

下面是一个例子:

$current_item = get_queried_object();

+0

我不明白这将如何帮助我。如果我已经在我想从中获取信息的页面上,它会执行此操作。但我只有一个ulr字符串。将url传递给get_queried_object()将不起作用。 – Molod

+0

'url_to_postid()'仅适用于传递了帖子或页面ID的情况。对于类别ID,你应该白色的你自己的功能。 你能否提供更多的细节你在哪里使用这段代码?你有没有任何理由不使用条件逻辑函数或全局'wp_query'? –