どういうわけか私の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();
問題は私の方法で spl_autoload_register() 関数を持つクラスを含めることでした。これはWordPressコア内部のいくつかの問題につながりました。以前にこれをテストしなかったことをすみません。