【问题标题】:wordpress count image attachmentswordpress 计数图片附件
【发布时间】:2015-01-04 17:08:12
【问题描述】:

我正在寻求帮助,由于某种原因,此代码在尝试在 index.php 主页面上显示总图像附件时不起作用。

// Get all the attachments
$attachments = get_posts ( array(
'numberposts' => -1,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_parent' => get_the_ID(),
'post_status' => 'inherit',
) );

// Count all the attachments
$total = count( $attachments );

问题是,循环在 index.php 主页面中,但它正在调用 post.php 模板,所以我把这段代码放在那里(我假设它仍在循环中?)然后我打电话$total 就在我要显示“查看所有 # 张图片”的下方。

任何想法为什么即使我使用基本的 Wordpress 图库媒体库在帖子中添加了一个图片库,这只是将数字显示为 0?

谢谢

【问题讨论】:

  • 如果添加print_r($attachments);,页面上是否打印了任何内容?
  • 它实际上似乎最终奏效了。我们用来尝试计数的图像似乎有问题。感谢您的帮助。

标签: wordpress count attachment


【解决方案1】:

仅当附加到帖子时,附件计数才会增加。您可以通过添加以下内容来强制计数:

$wp_taxonomies['category']->update_count_callback = '_update_generic_term_count';

在你的functions.php中的一个函数中是这样的:

function change_category_arg() {
    global $wp_taxonomies;
    if ( ! taxonomy_exists('category') )
        return false;

    $wp_taxonomies['category']->update_count_callback = '_update_generic_term_count';

}
add_action( 'init', 'change_category_arg' );

解释:

这在附件的情况下很重要。因为一个附件 是一种帖子,将使用默认的 _update_post_term_count()。 但是,这可能是不可取的,因为这只会计算 实际附加到另一个帖子的附件(比如当你 在帖子中插入图像)。这意味着您的附件 只需使用媒体库上传到 WordPress,但不要 实际上附加到另一个帖子不会被计算在内。如果你的意图 将分类法​​与附件关联的背后是利用 媒体库作为一种文档管理解决方案,您是 可能对未附加媒体项目的数量更感兴趣,而不是 在那些附加到帖子中。在这种情况下,您应该强制使用 _update_generic_term_count() 通过将 '_update_generic_term_count' 设置为 update_count_callback 的值。

来自Wordpress Codex on register_taxonomy

【讨论】:

    猜你喜欢
    • 2011-04-16
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 2017-05-02
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多