如何获得所有后家长的一篇帖子?

时间:2013-07-10 作者:luke

不幸的是,$post->post\\u父项是一个变量,而不是数组。我想获得一篇帖子(尤其是一个附件,它通常链接到多篇帖子!)的所有post\\u家长。

3 个回复
最合适的回答,由SO网友:luke 整理而成

基于@Ravs解决方案,我解决了这个问题。此函数返回所有父帖子,并检查附加到所有帖子的所有附件。

请参见:http://codepad.org/GmNh7M9e

SO网友:JMau

您清楚地提到this function 其用法如下:

global $post;
$parents = get_post_ancestors( $post->ID );

SO网友:Ravinder Kumar

此函数提供附件附加到的post ID列表。

粘贴此代码functions.php

/**
 * get_attachment_parent fx gives array of post id to which given attachment attach
 * @param  [int $att_id attachment id
 * @return array        list of post ids
 */
function ravs_get_attachment_parent( $att_id ){

    $args=array(
        \'posts_per_page\'  => -1,
        );

    $posts=get_posts($args);

    if( ! $posts && empty($posts) )
            return array();

    $ancestors = array();

    foreach ($posts as $post) {
        $attachment = get_post_thumbnail_id($post->ID);
        if( $att_id === $attachment  && ! in_array($post->ID, $ancestors))
            $ancestors[] = $post->ID;
    }
    return $ancestors;
}
并在循环中访问此函数

if( has_post_thumbnail() )
 print_r( ravs_get_attachment_parent( get_post_thumbnail_id(get_the_ID())) );
或外部回路

print_r( ravs_get_attachment_parent( $attachment_id );

结束

相关推荐

如何更改NEXT_POSTS_LINK()返回的URL?

我正在将WordPress博客集成到我现有的公文包test中。我的网站。com。测试时会出现WordPress默认的二十一博客。我的网站。com/blog/。我想将WordPress功能集成到我现有的公文包中,所以我在测试时创建了一个页面。我的网站。com/blog。php。我刚刚在博客页面中添加了下一页/上一页功能。My problem is that the next_posts_link() function does not return the correct URL. 使用我的公文包布局的博客