וורדפרס ואתרי אינטרנט

owl-158414_960_720
דורג 5 מתוך 5

באתר תמצאו מדריכים ומאמרים ייחודים בעברית, המדריכים לרוב מנסיון מעשי ומיוחסים לפרוייקטים שאני עובד עליהם באותו הזמן. האתר הוא יותר לשימוש פרטי ולתיעוד דברים, בכדי להשתמש מאוחר יותר, אבל החלטתי לפרסם ניתן לשאול כל שאלה וגם לתרום מדריכים באתר דרך תגובה או דרך צור קשר

וולידציה ללוגאין בוורדפרס

 

נתקלתי במצב שהייתי צריך לעשות ולידציה ללוגאין חיצוני בוורדפרס שנוצר ע"י הפונקציה הזו

wp_login_form

אני הוצאתי את ה – form מהפונקציה מכיוון שרציתי לעשות עוד כמה עיצובים שאין שם באפשרויות.

הבעיה היתה עם ה – redirect כאשר הפרטים אינם נכונים אנחנו מובלים לעמוד לוגאין של וורדפרס ואני רציתי להישאר באותו עמוד ולהציג הודעה.

יש הרבה פתרונות אבל הפתרון שלי הוא.

ליצור אייפריים ולשלוח את הנתונים שמתקבלים באייפריים במידה ויש כניסה אז יש אופציה לעשות redirect לדף כלשהו, אני עושה redirect לדף שהכנתי מראש שיש בו דיב עם ID שהכנתי מראש שהתוכן שלו 1.

ובגאווה סקריפט אני בודק אם באייפריים יש את הדיב עם ה ID שהתוכן שלו 1 אם כן אז ז"א שנכנסתי ואני עושה מה שבא לי אם לא אז לא נכנסתי.

הקוד המלא:

 

function jos_login() {

  echo "<div class='jos_login'>";
    if ( ! is_user_logged_in() ) { // Display WordPress login form:
      $args = array(
        'redirect' => '/חדשות-ועדכונים-לחברי-האיגוד/', 
        'form_id' => 'loginform-custom',
        'label_username' => __( 'שם משתמש\אימייל' ),
        'label_password' => __( 'סיסמה' ),
        'label_remember' => __( 'הכנס אותי אוטומטית בפעם הבאה' ),
        'label_log_in' => __( 'היכנס' ),
        'remember' => true
      );
      //wp_login_form( $args );
      echo '
        <div class="error_login_msg"></div>
        <form name="loginform-custom" id="loginform-custom" target="jos_login" action="/wp-login.php" method="post">
          <br />		
          <p class="login-username">
            <input name="log" id="user_login" class="input" value="" size="20" type="text" placeholder="שם משתמש:">
          </p> 
          <p class="login-password">
            <input name="pwd" id="user_pass" class="input" value="" size="20" type="password" placeholder="סיסמא:">
          </p>
          
          <p class="login-remember"><label><input name="rememberme" id="rememberme" value="forever" type="checkbox"> הכנס אותי אוטומטית בפעם הבאה</label></p>
          <p class="login-submit">
            <input name="wp-submit" id="wp-submit" class="button button-primary" value="היכנס" type="submit">
            <input name="redirect_to" value="/check_login" type="hidden">
          </p>
          
        </form>				
      ';
      echo "<iframe style='display:none;' id='jos_login_iframe' name='jos_login' src=''></iframe>";
      echo '
        <script>
          jQuery(function() {
            jQuery("#jos_login_iframe").bind("load",function(){
              is_login = jQuery("#jos_login_iframe").contents().find("#check_login").html();
              if (is_login == 1) {
                location.href = "/חדשות-ועדכונים-לחברי-האיגוד/"; 
              } else {
                jQuery(".error_login_msg").html("פרטי כניסה אינם נכונים");
              }
            
            });
          });   
        
        
        </script>				
      ';
      
    } else { // If logged in:
      wp_loginout( home_url() ); // Display "Log Out" link.
      echo " | ";
      wp_register('', ''); // Display "Site Admin" link.
      
      echo '
        <div class="go_to_member_page">
          <div class="btn btn-primary">
            <a style="color:#fff;" class="member_link" href="/%D7%97%D7%93%D7%A9%D7%95%D7%AA-%D7%95%D7%A2%D7%93%D7%9B%D7%95%D7%A0%D7%99%D7%9D-%D7%9C%D7%97%D7%91%D7%A8%D7%99-%D7%94%D7%90%D7%99%D7%92%D7%95%D7%93/">מעבר לאיזור רשומים</a>
          </div>
        </div>				
      ';
      
      
      echo "
      <style>
      .member_register {display:none;}
      .member_enter {height:170px;}
      .member_enter_up { padding-top: 60px; }
      .go_to_member_page {margin-top:15px;}
      </style>
      ";
      
    }
  echo "</div>";
}

 

אפשר להרחיב את הולידציה ולבדוק עוד דברים

is_email() - אם זה אימייל תקין
term_exists() - בודק אם קטגוריה קיימת
username_exists() - אם המשתמש קיים
validate_file() - אם קובץ קיים

 

תפריט נגישות