从附件中获取帖子列表

时间:2019-05-28 作者:BlueHelmet

我的图库有几十张图片。在每个图像的旁边,都应该有指向附加到该图像的帖子的链接。(您可以在媒体库中的“上载到”下看到这些内容)。

我可以用$attachment_data[\'uploadedTo\'], 但是我怎样才能知道那篇文章的名字呢?

我的循环:

$the_query = new WP_Query( array(
    \'post_type\' => \'attachment\',
    \'category_name\' => \'photos\',
    \'posts_per_page\' => 25,
));

while ( $the_query->have_posts() ) : $the_query->the_post(); 

$attachment_data = wp_prepare_attachment_for_js($attachment);

      echo \'<div><div>
      <img src="\'.wp_get_attachment_url (\'medium\').\'"/>
      </div><div><a href="/?p=\'.$attachment_data[\'uploadedTo\'].\'"> Name of Post Goes Here</a></div>\';

      endwhile; wp_reset_postdata();?> 

1 个回复
SO网友:BlueHelmet

我找到了一些有用的文章,这些文章的结合帮助我解决了这个问题。首先,我发现uploadedTo 可以检索信息,返回ID。关于附件数据的一组信息can be found here.

其次,我可以通过添加一些html将ID转换为帖子的链接<a href="/?p=\'.$attachment_data[\'uploadedTo\'].\'">.

第三,我可以使用the method found here.

总之,我能够从附件中生成一个指向帖子的格式化链接。

不幸的是,它不会是一个帖子列表,因为Wordpress只允许帖子附加一个图片(即使技术上有更多)。

最终代码:

$the_query = new WP_Query( array(
    \'post_type\' => \'attachment\',
    \'category_name\' => \'photos\',
    \'posts_per_page\' => 25,
));

while ( $the_query->have_posts() ) : $the_query->the_post(); 

$attachment_data = wp_prepare_attachment_for_js($attachment);
$title = get_post_field( \'post_title\', $attachment_data[\'uploadedTo\'] );

      echo \'<div><div>
      <img src="\'.wp_get_attachment_url (\'medium\').\'"/>
      </div><div><a href="/?p=\'.$attachment_data[\'uploadedTo\'].\'">\'.$title.\'</a></div>\';

      endwhile; wp_reset_postdata();?>

相关推荐

WordPress Nexus主题前端编辑器已损坏,因为找不到wp-load.php

我有一个Nexus主题(https://nexusthemes.com/) 这使我无法通过前端进行编辑。给出“传输数据时出错。请稍后再试。”控制台报告“找不到wp-load.php(/)(),请参阅nxs ajax.php”。这也破坏了主题的联系表单提交。自从该网站被移动到飞轮的新云平台(谷歌云)后,这种情况就开始发生了。现在有了云平台,他们将wp admin和wp includes移动到/。wordpress/。因此主题无法再定位wp负载。php。查找wp加载的主题文件。php,是nxs ajax。ph