wp_insert_post添加meta_input


8

在该页面的文档中wp_insert_post有一半的更改日志显示以下内容:

从以下版本开始:WordPress 4.4.0现在可以将'meta_input'数组传递到$ postarr以添加帖子元数据。

我正在使用Wordpress 4.4.2。我将尝试通过运行以下代码来添加新帖子:

function handle_post($post) 
{
    wp_insert_post( array(
        'post_title'    => $post['title'],
        'post_type'     => 'werknemers',
        'meta_input'    => array(
            array(
                'key'   => 'name',
                'value' => $post['name']
            ),
            array(
                'key'   => 'city',
                'value' => $post['city']
            )
        )
    ) ); 
}

该帖子已添加到数据库,但没有元数据。我找到了这个堆栈帖子,但是我不知道如何实现if statement

我也对添加分类法(tax_input)的方式感兴趣。

Answers:


19

meta_input只是一维数组,如key => value

'meta_input' => array(
    'name' => $post['name'],
    'city' => $post['city']
)

tax_input 略有不同,以税收为关键,并包含一系列值:

'tax_input' => array( 
    'taxonomy_name' => array( 
        'term', 
        'term2', 
        'term3' 
    ) 
)

请注意,tax_input要正常工作,当前在代码运行时登录的用户必须具有管理该分类法的功能,否则它将无提示地失败。


1
对不起,您的回复晚了,但感谢您的明确解释!完全按照预期进行了工作
ronnyrr '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.