Ajax Validation ACF & WP Пользовательский интерфейс - PullRequest
0 голосов
/ 03 июля 2019

У меня есть пользовательский тип сообщения, например, «клиенты».Эта страница имеет пользовательские поля.Это как «идентификационный номер».И я использую обращение к клиенту.Эта форма имеет настраиваемое поле, например, тип сообщения клиента («идентификационный номер»).

Я хочу добавить в эту форму подтверждение ajax для идентификационного номера.Если идентификационный номер находится в базе данных, я хочу отобразить сообщение об ошибке и скрыть кнопку отправки.Как я могу это сделать?

function validate_kimlik_no($valid, $value, $field, $input) {
  if (!$valid || $value == '') {
    return $valid;
  }
  global $post; 
  $args = array(
    'post_type' => 'musteriler' + 'post',  // or your post
    'post__not_in' => array($post->ID), // do not check this post
    'meta_query' => array(
      array(
        'key' => 'musteri_kimlik_numarasi',
        'value' => $value
      )
    )
  );
  $query = new WP_Query($args);
  if (count($query->posts)) {
    // found at least one post that
    // already has $value
    $valid = 'Bu Kimlik Numarası Sistemde Bulunmaktadır.';
  }
  return $valid;
}
add_filter('acf/validate_value/name=musteri_kimlik_numarasi', 'validate_kimlik_no', 10, 4);

Этот код работает на бэкэнде.Но я хочу использовать это управление на странице внешнего интерфейса с ajax.

1 Ответ

0 голосов
/ 04 июля 2019
function wpuf_unique_kimlik_no_uyari( $error ) {
    if ( isset( $_POST['musteri_kimlik_numarasi'] ) ) {
        global $wpdb;   
        $kimlikno = $_POST['musteri_kimlik_numarasi'];
        $product_id = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key='musteri_kimlik_numarasi' AND meta_value='%s' LIMIT 1", $kimlikno ) );
        if ( $product_id ) {
            return __( 'This is an Error!' );
        }
    }
    return '';
}
add_filter( 'wpuf_add_post_validate', 'wpuf_unique_kimlik_no_uyari' );

Этот код работает, но я не могу написать взамен значение.

function wpuf_unique_kimlik_no_uyari( $error ) {
    if ( isset( $_POST['musteri_kimlik_numarasi'] ) ) {
        global $wpdb;   
        $kimlikno = $_POST['musteri_kimlik_numarasi'];
        $product_id = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key='musteri_kimlik_numarasi' AND meta_value='%s' LIMIT 1", 
        $kimlikno ) );
        $sonucc =  get_field('musteri_danismani', $product_id);
        $tpt = the_field('calisan_adi_soyadi', $sonucc);
        $tpt2 = the_field('calisan_sirket_numarasi', $sonucc);
        if ( $product_id ) {
            return __( $tpt ."". $tpt2 );
        }
    }
    return '';
}
add_filter( 'wpuf_add_post_validate', 'wpuf_unique_kimlik_no_uyari' );

Этот код не работает.Пожалуйста, кто-нибудь может мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...