从WordPress中的p2p_id获取from和to对象 - WP Posts to Posts Plugin

时间:2015-08-25 06:12:31

标签: php wordpress wordpress-plugin

我现在在wordpress中使用WP Posts to Posts插件。

现在我在帖子和帖子,用户和用户,或帖子和用户之间建立了一些链接。

在上述三种情况中,我想用p2p插件做更多的事情。

例如,我可以先获取p2p_id:

$users = get_users( array(
    'connected_type' => 'multiple_authors',
    'connected_items' => $post
) );

foreach($users as $user) {
    $p2p_id = $user->p2p_id;

    // ********** ATTENTION *********
    // Here, I got the p2p_id of the p2p object
    // In a general purpose, I want to get the 
    // from and to object from the p2p_id

}

那么,如何通过p2p_id获取from和to对象?我已经找到了文档,但似乎没有有效的方法。

1 个答案:

答案 0 :(得分:0)

没有其他答案。所以我终于从源代码中找到了答案:

档案:/wp-content/plugins/posts-to-posts/vender/scribu/lib-posts-to-posts/api.php

请注意,有一个功能:p2p_get_connection($p2p_id)

然后我们用已知的p2p_id调用该函数,返回一个stdClass对象,如下所示:

object(stdClass)#2509 (4) {
  ["p2p_id"]=>
  string(1) "8"
  ["p2p_from"]=>
  string(2) "84"
  ["p2p_to"]=>
  string(1) "2"
  ["p2p_type"]=>
  string(10) "my_post_to_user"
}

现在我们可以获得p2p_from ID和p2p_to ID,我们知道它是帖子或用户。我们可以构造对象。

所以最终解决方案可能如下:

$conn = p2p_get_connection($this->p2p_id);
$from = get_post(intval($conn->p2p_from));
$to = new WP_User(intval($conn->p2p_to));

仍然没有在文档中找到,希望它有所帮助。