私は属性のテキストフィールドを自動入力することになっているプラグインを開発しています。
ユーザーがURLを入力するURLテキストフィールドがあります。フォーカスを絞ってAJAX呼び出しをトリガーしてデータを保存できますが、ここで達成したいのは強調表示されたフィールドに保存データを表示することです。同様に。
表示するためにフックで次のコードを使用しています。
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 );
}
任意の助けは大歓迎です!
そのテキストのIDがファイルされていると仮定します。url-fieldはここにJSコードがあります
$("#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 :-) ");
}
});
});
これがPHPです。これを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 );
}
また、このフックも:
add_action('wp_ajax_use_someprefix_update_url', 'use_someprefix_update_url');
P.S:あなたは検証のものをする必要があります。