Heim  >  Fragen und Antworten  >  Hauptteil

Sie sind sich nicht sicher, warum eine undefinierte Variablenbenachrichtigung beim Hinzufügen eines ACF-Felds zu einer benutzerdefinierten Spalte versucht, die Produkt-ID abzurufen?

Ich habe auf meiner WooCommerce-Produktseite im Admin-Dashboard eine benutzerdefinierte Spalte hinzugefügt, aber wenn ich versuche, die Spalte durch Hinzufügen von zwei benutzerdefinierten ACF-Feldeinstellungen für Beitragstyp -> Produkt zu füllen, erhalte ich diese Fehlermeldung zu jedem dieser Debug-Fehler Benutzerdefinierte Benachrichtigungsspalte, die auf jedem Produkt aufgeführt ist.

Hinweis: Undefinierte Variable: Produkt befindet sich unter /./././wp-content/themes/bpa/functions.php Zeile 923

Hinweis: Es wird versucht, die Produkt-ID eines Nicht-Objekts abzurufen /./././wp-content/themes/bpa/functions.php Zeile 923

Kann mir jemand erklären, was ich falsch mache, um eine undefinierte Variable zu erhalten?

Linie 923 ist:

$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

Liegt es daran, dass ich die alte Toilettenmethode verwendet habe oder so?

Volle Funktionen:

// 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 );

P粉450744515P粉450744515264 Tage vor417

Antworte allen(1)Ich werde antworten

  • P粉668113768

    P粉6681137682024-02-22 10:56:00

    供任何人观看。如果使用$product和$post,那么你需要使用global $product;和全局 $post 来访问它们。

    global $product;
    
    $product_id = $product->get_id();

    Antwort
    0
  • StornierenAntwort