如何为自定义字段设置默认元值

时间:2012-08-21 作者:ragulka

我已经为附件设置了自定义meta\\u密钥。由于它是一个带有“是/否”选项的单选按钮,并且默认值始终为“是”,因此我需要在创建附件时将此默认值保存到db中。

现在的问题是,当我上传图像时,“编辑媒体”页面会显示此meta\\u键的值为“是”,但在我单击“保存所有更改”或“更新媒体”之前,它实际上不会保存在数据库中。

由于可以通过手动上载文件和导入RSS提要自动添加这些附件,因此我需要在db中创建附件时创建默认值。

更新:为了更详细地解释这个问题,这是我在模板中用来查找附件的代码。我不知道当\\u show\\u attach为空时,是否可以修改此选项以同时查询附件?

$attached_photos = get_children(array(
        \'post_parent\'    => get_the_ID(),
        \'post_type\'      => \'attachment\',
        \'numberposts\'    => -1, // show all
        \'post_status\'    => null,
        \'post_mime_type\' => \'image\',
        \'order\' => \'ASC\',
        \'orderby\' => \'menu_order\',
        \'meta_key\' => \'_show_attach\',
        \'meta_value\' => \'false\',
        \'meta_compare\' => \'!=\'
    ));

2 个回复
SO网友:woony

为什么不在您的查询和使用中涵盖这一点isNull() ? 如果此附件的meta\\u密钥为null,则为true.

SO网友:SergeyBiryukov

您可以使用add_attachment 为自定义字段设置默认值的操作:

function wpse62481_set_default_meta_value( $attachment_id ) {
    add_post_meta( $attachment_id, \'_show_attach\', \'1\' );
}
add_action( \'add_attachment\', \'wpse62481_set_default_meta_value\' );

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢