如何在前端检索所有类别图像

时间:2017-12-18 作者:Shihab

我正在尝试检索每个类别中的所有图像。wp_list_categories 给我所有类别的标题,但我只需要类别的图像和各个类别的永久链接。

我找到了一个有用的话题here 但和我的不一样。我也搜索了WordPress文档,但不知道如何实现我的目标。如有任何提示,我们将不胜感激。非常感谢。

1 个回复
SO网友:Tom J Nowell

你的问题太复杂了,你需要把它分解成多个更简单的问题。如果我们不这样做,问题就更难了,而在网上搜索一个有着完全相同问题的人即使不是不可能,也要困难得多。

让我们用伪代码来实现这一点,就像你告诉lamens的那样,用简单的英语编写的代码:

categories = get all categories
for each category in "categories"
    image ID = get the image ID from the image field
    image URL = get the URL for the attachment with the ID of "image ID"
    display the image
    display the title of the category
现在,我们有几个更小、更易于管理的问题,每个问题都可以独立研究,解决方案和资源的数量大大增加:

如何获取所有类别

  • 如何从类别的ACF字段中获取图像=给定图像ID,如何获取URL可能是这些问题也需要分解成更小更简单的问题,因为我们正在研究如何做到这一点。

    请注意,所有这些都是很好的问题,你可以在这里得到3倍的声誉,并且每个部分得到更长更深入的答案。

    因此,我们可以使用伪代码,开始将纯英语替换为真正的PHP代码:

    $categories = [];// get all categories
    foreach ( category in "categories" ) {
        //image ID = get the image ID from the image field
        //image URL = get the URL for the attachment with the ID of "image ID"
        //display the image
        //display the title of the category
    }
    
    从如何填充开始categories 所有类别?我相信你已经找到了第一个问题的答案,但它隐藏在一个更复杂的问题中。这个get_categories 功能就是你想要的。

    接下来的“如何从类别的ACF字段中获取图像”,将引导您this question

    最后,“给定一个图像ID,如何获取URL”,要做到这一点,您可以使用wp_get_attachment_url, which is documented with examples here

    最后,您永远不想显示所有帖子或所有类别。这是因为随着类别数量的增加,生成页面和运行查询的时间也会增加。最终会有如此多的用户出现,以至于页面永远无法完成加载,或者DB在负载下挣扎,这就限制了有多少人可以同时查看您的站点(如果他们可以查看的话)。相反,设置200个类别的上限,这样就永远不会有问题

  • 结束

    相关推荐

    使用自己的php脚本从wp标题批量生成wp分类标签

    我想使用插件将wp标题生成到标签中,https://wordpress.org/plugins/wp-full-auto-tags-manager/,因为我有数百万个帖子,所以日程表/cronjob工作不正常。所以我想用self-php脚本手动执行,我可以使用插件中的一段代码并在ssh终端上独立运行它吗,这是一段代码:$nsw_sql_gen_tags = $wpdb - > prepare(\" SELECT ID, post_title FROM $wpdb->posts WHERE po