Ich entwickle ein Plugin, das das Textfeld Attribute automatisch ausfüllen soll.
Es gibt ein URL-Textfeld, in das der Benutzer die URL eingibt. Beim Fokussieren löse ich einen AJAX -Aufruf aus, über den ich die Daten speichern kann. Hier möchte ich jedoch die gespeicherten Daten in markierten Feldern anzeigen auch.
Ich verwende folgenden Code in einem Hook, um anzuzeigen:
if( function_exists( 'wc_get_attribute_taxonomies' ) && ( $attribute_taxonomies = wc_get_attribute_taxonomies() ) ) {
$defaults = array();
$name = wc_attribute_taxonomy_name( $tax->attribute_name );
foreach ( $attribute_taxonomies as $key=>$tax ) {
$defaults[ $name ] = array (
'name' => $name,
'value' => 'thisTextShouldAppearInHighlightedFieldsOfScreenShot',
'position' => $key+1,
'is_visible' => 1,
'is_variation' => 1,
'is_taxonomy' => 1,
);
update_post_meta( $post->ID , '_product_attributes', $defaults );
}
Jede Hilfe wäre sehr dankbar!
Ich gehe davon aus, dass die ID des abgelegten Textes ist. URL-Feld Hier ist der JS-Code
$("#url-field").keyup(function(event) {
var url_val=$("#url-field").val();
$.ajax({
type:"POST",
url: ajaxurl,
data: {
action:'use_someprefix_update_url',
search_string:url_val,
namefiled : namehere,
postid : postidhereYouCangetItIHope
},
success:function(data){
alert("Success, you can remove me :-) ");
}
});
});
Hier kommt PHP, setzen Sie dies in functions.php
function use_someprefix_update_url(){
$defaults = array();
$defaults[ $_POST['namefiled'] ] = array (
'name' => $_POST['namefiled'],
'value' => $_POST['search_string'],
);
update_post_meta( $_POST['postid'] , '_product_attributes', $defaults );
}
Auch dieser Haken auch:
add_action('wp_ajax_use_someprefix_update_url', 'use_someprefix_update_url');
P.S: Sie müssen Validierungsaufgaben erledigen.