J'ai ajouté une colonne personnalisée dans ma page produit WooCommerce dans le tableau de bord d'administration, mais lorsque j'essaie de remplir la colonne en ajoutant 2 paramètres de champ ACF personnalisés pour le type de publication -> Produit, je reçois ce message d'erreur pour chacun d'eux. Erreur de débogage colonne personnalisée de notification répertoriée sur chaque produit.
Remarque : Variable non définie : produit situé à /./././wp-content/themes/bpa/functions.php ligne 923
Remarque : essayer d'obtenir "l'identifiant" du produit d'un non-objet /./././wp-content/themes/bpa/functions.php ligne 923
Quelqu'un peut-il m'aider à expliquer ce que je fais de mal pour obtenir une variable non définie ?
La ligne 923 est :
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
Est-ce parce que j'ai utilisé l'ancienne méthode des toilettes ou quelque chose du genre ?
Fonctionnalités complètes :
// Populate column function woo_product_rmreference_column_data( $column ) { global $post; if ( $column == 'rm_reference' ) { // $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id; // Get ACF Fields $reference = get_field( 'property_reference', $product_id ); $address = get_field( 'location', $product_id ); // Output echo ($reference . $address) ? '<div>'.$reference.' - '.$address.'</div>' : '<div>Not found!</div>'; } } add_action( 'manage_product_posts_custom_column' , 'woo_product_rmreference_column_data', 10, 2 );
Pour que tout le monde puisse le regarder. Si vous utilisez $product et $post, vous devez utiliser global $product et global $post pour y accéder.