如何根据帖子的URL获取帖子详细信息

时间:2018-05-01 作者:Rakesh Ojha

我有一个定制的php页面,需要根据管理员输入的URL显示WordPress帖子的详细信息。在管理中,当添加项目详细信息时,我们在文本框中输入链接到此项目的文章帖子的几个URL。URL以逗号分隔的值存储在数据库中。通过explode,我能够获取所有URL,但我无法根据URL获取帖子的详细信息。

<?php
$mark=explode(\',\', $rowPr[\'post_url\']);//what will do here
    foreach($mark as $out) {
          $out;
    }  
?>
因此,我正在寻找WordPress之外的自定义SQL查询,以根据帖子的URL获取帖子详细信息。我会要求职位的标题,职位日期,职位作者等。

1 个回复
SO网友:NightHawk

我同意WebElaine的评论,存储ID将更加可靠,因为URL可以很容易地更改。

也就是说,如果您有这样的URL:

http://domain.com/2018/01/this-is-my-post/
您可以使用类似的方式获取帖子名称:

$url = \'http://domain.com/2018/05/this-is-my-post/\';
$components = parse_url($url);
preg_match(\'`^/\\d*/\\d*/(.*)/$`\', $components[\'path\'], $matches);
echo $matches[1];
在中使用帖子名称$matches[1] 您可以使用get_page_by_path 获取post对象。

$post = get_page_by_path($matches[1]);
从那里,您可以使用$post->ID.

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在