0

Ich habe Custom Post Felder (eine Liste von Kontrollkästchen) zu der benutzerdefinierten Taxonomie 'product_cat' hinzugefügt.WordPress: Wie Metadaten benutzerdefinierter Felder aus der benutzerdefinierten Taxonomie mithilfe von jQuery abgerufen werden

Auch ich habe eine Dropdown-Liste mit dieser benutzerdefinierten Taxtonimies ('product_cat') auf meiner benutzerdefinierten Post-Typ ('Produkt') Seite hinzufügen/bearbeiten.

Wie kann ich Metadaten aus diesen benutzerdefinierten Feldern mithilfe von jQuery abrufen, wenn das Drop-down-Menü Benutzerdefinierte Taxonomie geändert wurde?

<script type="text/javascript"> 
     jQuery(document).ready(function() { 
      jQuery('#prodcatoptions').change(function() { 
       var productsubcut = jQuery('#prodcatoptions').val(); 
       if (productsubcut == '') { 
       } else {    
        var data = { 

         /* I don't know what I need to type here */ 

        }; 
        jQuery.post(ajaxurl, data, function(response){ 
         console.log(response); 
        }); 
       }  
      }); 
     }); 
    </script> 

Antwort

1

Um dies zu tun, müssen Sie eine Ajax-Anfrage an das Wordpress-Backend stellen. Zum Beispiel:

Im Backend haben Sie die folgende Funktion in der functions.php Datei

<?php 
 

 
function get_custom_meta() { 
 
    global $post; // This only works for admin site 
 
    
 
    $meta_key = $_GET['key']; # 'key' is the value of the option selected on the selected 
 

 
    $data = get_post_meta($post->ID, $meta_key, true); # true returns a single value 
 
    echo $data; 
 
    exit; 
 
} 
 
add_action('wp_ajax_get_custom_meta', 'get_custom_meta'); 
 
?>

Dies wird die Metadaten über die ausgewählte Taxonomie zurückzukehren.

Ihr Javascript wie folgt ändern:

<script type="text/javascript"> 
 
     jQuery(document).ready(function() { 
 
      jQuery('#prodcatoptions').change(function() { 
 
       var productsubcut = jQuery('#prodcatoptions').val(); 
 
       if (productsubcut == '') { 
 
       } else {    
 
        var data = { 
 

 
         action: 'get_custom_meta', 
 
         key: productsubcut 
 
        }; 
 
        jQuery.get(ajaxurl, data, function(response){ 
 
         console.log(response); 
 
        }); 
 
       }  
 
      }); 
 
     }); 
 
    </script>

Verwandte Themen