如何从固定链接中获取帖子列表?

时间:2014-05-30 作者:Tallboy

我正在使用一个API来跟踪我的部分站点上的指标。但它保存的唯一有用的位是URL(permalink)。

考虑到我没有访问ID的权限,查询与这些永久链接匹配的所有帖子最有效的方法是什么post__in 具有WP_Query.

1 个回复
SO网友:engelen

有几种方法可以实现这一点,具体取决于您帖子的永久链接结构。假设post slug是permalink结构的一部分,您可以从post URL获取post slug,并使用WP_Query 使用name-参数让我们假设URL的结构是http://example.com/{post_slug}/. 我们可以用parse_url 并用该slug查询帖子:

$url = \'http://example.com/my-post/\';

$path = parse_url( $url, PHP_URL_PATH ); // Get URL path from URL
$slug = trim( $path, \'/\' ); // Trim slashes

$posts_query = new WP_Query( array(
    \'name\' => $slug
) );

if ( $posts_query->have_posts() ) {
    $postid = $posts_query->posts[0]->ID;
}

结束