2017-08-21 5 views
0

Ich habe benutzerdefinierte Felder zu meinen Woocommerce-Produkten hinzugefügt und in der Lage, die benutzerdefinierten Felddaten auf Produkte einzugeben und zu füllen. Ich versuche nun, die Daten aus diesem benutzerdefinierten Feld in einer Schaltfläche zu verwenden, die ich auf der einzigen Produktseite von woocommerce hinzufüge.Woocommerce Produkte Benutzerdefinierte Feld

Das benutzerdefinierte Feld ist eine URL für das Produktbeispiel. Ich versuche dann, eine Schaltfläche "View Product Sample" auf der Woocommerce einzelnen Produktseite hinzuzufügen, die zu der URL navigiert, die in dem benutzerdefinierten Feld eingegeben wird. Hier ist der Code, den ich habe:

// Display Fields 
add_action(‘woocommerce_product_options_general_product_data’, ‘woo_add_custom_general_fields’); 

// Save Fields 
add_action(‘woocommerce_process_product_meta’, ‘woo_add_custom_general_fields_save’); 

function woo_add_custom_general_fields() { 

global $woocommerce, $post; 

// Text Field 
woocommerce_wp_text_input(
array(
‘id’ => ‘product_sample’, 
‘label’ => __(‘Sample Product Link’, ‘woocommerce’), 
‘placeholder’ => ‘http://’, 
‘desc_tip’ => ‘true’, 
‘description’ => __(‘Enter the sample product link here.’, ‘woocommerce’) 
) 
); 
} 
function woo_add_custom_general_fields_save($post_id){ 

// Textfield 
$woocommerce_text_field = $_POST[‘product_sample’]; 
if(!empty($woocommerce_text_field)) 
update_post_meta($post_id, ‘product_sample’, esc_html($woocommerce_text_field)); 

} 

add_action(‘woocommerce_after_add_to_cart_button’,’cmk_additional_button’); 
function cmk_additional_button() { 

echo '<a href="CONTENT OF CUSTOM FIELD - URL" target="_blank" button 
type="submit" class="button sample">View Product Sample</a>'; 

} 

Ich brauche Hilfe bei der Bestimmung, wie mein benutzerdefinierten Feld Meta-Daten in den Link für die Schaltfläche erhalten, die am Ende des Codes anklingt.

Danke für jede Hilfe, die jemand geben kann.

Antwort

0

Sie benötigen get_post_meta() Funktion auf diese Weise zu verwenden:

add_action('woocommerce_after_add_to_cart_button', 'cmk_additional_button'); 
function cmk_additional_button() { 
    global $post; 

    $url = get_post_meta($post->ID, 'product_sample', true); 

    echo '<a href="'.$url.'" target="_blank" button type="submit" class="button sample">View Product Sample</a>'; 

} 

-Code geht in function.php Datei Ihres aktiven Kind Thema (oder Thema) oder auch in jeder Plugin-Datei.

Dies sollte funktionieren.

Im Code Ihrer Frage, die Sie verwenden und Sie sollten sie durch ' statt ersetzen, zu PHP-Fehler zu vermeiden.

Verwandte Themen