Проверьте, существует ли электронная почта в базе данных из кода CF7, работает в URL-адресе, но не работает в другом URL-адресе - PullRequest
0 голосов
/ 06 августа 2020

Я ищу решение на своем веб-сайте. Мне нужно проверить, существует ли электронная почта в БД из контактной формы 7 и перенаправить на другую страницу (страницу с содержимым, если она существует). Если не существует, перенаправьте на другую страницу (страницу регистрации).

Затем я нашел этот код, и он очень хорошо работает в моей тестовой области: Как проверить, отправлено ли электронное письмо через контактную форму 7 есть в моей базе данных?

Однако тот же код не работает на моем официальном веб-сайте.

Полезная информация:

  • оба сайта находятся в тот же хост, та же тема, были продублированы через плагин Duplicator. - Находятся в разных URL
  • И в базах данных разделены
  • Имя поля электронной почты одинаково для регистра и формы доступа ('user-email')
  • I не хочу использовать подключаемые модули участников в этом конкретном случае c, потому что доступ к сайту требуется только по электронной почте и базе данных, в которой уже есть много записей

Может ли кто-нибудь помочь мне с это?

PS: извините, мой плохой английский sh =)

Это код:

add_filter( 'wpcf7_validate', 'email_already_in_db', 10, 2 );

    function email_already_in_db ( $result, $tags ) {
    // retrieve the posted email
    $form  = WPCF7_Submission::get_instance();
    $email = $form->get_posted_data('user-email');
    // if already in database, invalidate
    if( email_exists( $email ) ) // email_exists is a WP function
        $result->invalidate('user-email', 'Exists in DB');
    // return the filtered value
    return $result;
    }

function my_awesome_cf7_custom_events () { ?>
    <script type="text/javascript">
        document.addEventListener( 'wpcf7invalid', function( event ) {
            if ( '585' == event.detail.contactFormId ) {//<===replace FORM_ID with form id
               //redirect to link from users already registered in my cf7 form 
                location.replace('http://example.com/url-with-content');
            }
        }, false );
        
        document.addEventListener( 'wpcf7mailsent', function( event ) { 
       //redirect to link cf7 form register 
        location = 'http://example.com/url-register';
 }, false );
        
    </script>
<?php }
add_action( 'wp_footer', 'my_awesome_cf7_custom_events' ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...