获取附件元(我需要附件ID,不确定如何找到)

时间:2014-03-26 作者:tmyie

我有以下示例代码,它创建了一个自定义字段并添加到附件元中:

function be_attachment_field_credit( $form_fields, $post ) {
    $form_fields[\'be-photographer-name\'] = array(
        \'label\' => \'Photographer Name\',
        \'input\' => \'text\',
        \'value\' => get_post_meta( $post->ID, \'be_photographer_name\', true ),
        \'helps\' => \'If provided, photo credit will be displayed\',
    );

    $form_fields[\'be-photographer-url\'] = array(
        \'label\' => \'Photographer URL\',
        \'input\' => \'text\',
        \'value\' => get_post_meta( $post->ID, \'be_photographer_url\', true ),
        \'helps\' => \'Add Photographer URL\',
    );

    return $form_fields;
}

add_filter( \'attachment_fields_to_edit\', \'be_attachment_field_credit\', 10, 2 );


function be_attachment_field_credit_save( $post, $attachment ) {
    if( isset( $attachment[\'be-photographer-name\'] ) )
        update_post_meta( $post[\'ID\'], \'be_photographer_name\', $attachment[\'be-photographer-name\'] );

    if( isset( $attachment[\'be-photographer-url\'] ) )
update_post_meta( $post[\'ID\'], \'be_photographer_url\', esc_url( $attachment[\'be-photographer-url\'] ) );

    return $post;
}

add_filter( \'attachment_fields_to_save\', \'be_attachment_field_credit_save\', 10, 2 );
我试过打电话var_dump(get_post_meta($post->ID));, 但我假设meta在其他地方,因为没有任何输入。

According to the codex, 我可以打电话:

wp_get_attachment_metadata( $attachment_id, $unfiltered );.

然而,我不知道如何获得$attachment_id.

我的最终目标是将此元数据添加到高级自定义字段库插件中,该插件将附件元数据添加到post元数据中(我相信)-但这是一条很长的路。

2 个回复
SO网友:s_ha_dum

“附件”不是元数据。这就是为什么你不能用get_post_meta(). “附件”是附加到父帖子的帖子类型。你需要pull the attachment posts that have you post set as parent, 然后使用这些IDs获取附件元。

$args = array(
    \'post_parent\' => $post->ID,
    \'post_type\'   => \'attachment\', 
    \'numberposts\' => -1 
);
$children = get_children($args);

foreach ($children as $c) {
  $att = wp_get_attachment_metadata( $c->ID, $unfiltered );
  var_dump($att);
}

SO网友:fregante

您保存的所有帖子元都被附加到类型为的帖子attachment, 所以在这种情况下$post->ID is the attachment ID.

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在