web-dev-qa-db-ja.com

更新ポストメタは配列をシリアル化しません

どういうわけか私のupdate_post_meta()関数は配列を受け入れません。通常、関数はそれ自身で配列を直列化しますが、今私はこれを自分で行う必要があります。そうでなければ更新されません。

これはクラスの中でそれを呼ぶからでしょうか?

私のコード:

class Checkout {

    // Initializes object, calls the init hook
    public function __construct( $testMode = false ) {

        // Calls the init hook
        add_action( 'init', array( $this, 'setup' ) );

    }

    public function setup() {

        // Insert a post 
        $post_id = wp_insert_post( array( 'post_title' => 'Post title', 'post_content' => '', 'post_type' => 'transaction', 'post_status' => 'publish' ) );

        // Create order data array
        $order_data = array( 
            'subtotal'  => 100,
            'vat'       => get_option( 'vat_percentage' )
        );

        // Update order price
        update_post_meta( $post_id, 'order_data', $order_data );

    }

}

// Call object
$checkout = new Checkout();
1
Robbert

問題は私の方法で spl_autoload_register() 関数を持つクラスを含めることでした。これはWordPressコア内部のいくつかの問題につながりました。以前にこれをテストしなかったことをすみません。

0
Robbert