wordpress显示指定用户的所有媒体文件

为什么要显示指定用户的所有媒体文件?

有时候我们在网站开发中需要展示某个用户上传的所有图片、视频等媒体文件,这时候我们需要调用WordPress的API来进行数据操作,展示指定用户的所有媒体文件。

如何展示指定用户的所有媒体文件?

在WordPress中,使用WP_Query类可以获取符合条件的媒体文件。

我们可以在functions.php中添加以下代码:

$author_id = get_the_author_meta('ID');
$args = array(
    'author' => $author_id,
    'post_type' => 'attachment',
    'post_status' => 'any',
    'posts_per_page' => -1,
    'orderby' => 'title',
    'order' => 'ASC',
);
$attachments = new WP_Query($args);

首先我们需要获取用户的ID,然后使用WP_Query获取该用户上传的所有媒体文件。我们将post_type设置为attachment,这代表着我们是获取媒体文件。post_status设置为any表示获取所有状态的资源。posts_per_page设置为-1,表示没有分页。orderby设置为title,表示按照标题排序。order设置为ASC,表示升序排列。

如何显示指定用户的所有媒体文件?

接下来,我们需要通过循环来遍历$attachments,展示所有媒体文件。

if ($attachments->have_posts()) {
    while ($attachments->have_posts()) {
        $attachments->the_post();
        echo '
  • '; echo ''; echo wp_get_attachment_image(get_the_ID(), 'thumbnail'); echo ''; echo '
  • '; } wp_reset_postdata(); }

    首先,我们需要判断是否有符合条件的文件,随后我们使用while循环,遍历每个媒体文件。因为我们使用了WP_Query,所以我们需要使用the_post()对该媒体文件进行赋值,然后我们就可以获取该文件的ID了。在展示时,我们可以使用wp_get_attachment_url函数获取文件的URL,使用wp_get_attachment_image获取包含图片的HTML标签,在最后外层套上a标签,实现跳转到具体媒体文件的url链接。循环结束后,我们需要使用wp_reset_postdata()销毁WP_Query实例。

    通过以上步骤,我们就可以展示指定用户的所有媒体文件了。

    本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/wp-kh.html

    郑重声明:

    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

    我们不承担任何技术及版权问题,且不对任何资源负法律责任。

    如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

    如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

    (0)
    上一篇 2023年5月5日 下午1:20
    下一篇 2023年5月5日 下午1:20

    猜你喜欢