web-dev-qa-db-ja.com

wp_insert_post add meta_input

wp_insert_postdocumentation には、ページの半分に次のような変更ログがあります。

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)にも興味があります。

5
ronnyrr

meta_inputkey => valueのように単なる1次元配列です。

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

tax_inputは、税金をキーとし、値の配列を変えて、少し異なります。

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

tax_inputが機能するためには、コードの実行時に現在ログインしているユーザーがその分類法を管理する機能を持っている必要があります。

14
Milo