Pour une raison quelconque, ma fonction update_post_meta()
n'accepte pas de tableau. Normalement, la fonction sérialise le tableau, mais je dois maintenant le faire moi-même, sinon elle ne se met pas à jour.
Serait-ce possible, parce que je l'appelle à l'intérieur d'une classe?
Mon code:
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();
Le problème était dans ma façon d'inclure des classes avec la fonction spl_autoload_register () . Cela a entraîné des problèmes au sein du noyau WordPress. Excusez-moi de ne pas avoir testé cela auparavant.