• اطلاعیه ها

    • Saeed Fard

      برگزاری چهارمین همایش Coder Conf و کد تخفیف برای کاربران وردپرس پارسی   20/04/97

      کدرکانف هر سال در آخرین پنجشنبه مرداد با بورد‌های مختلفی برگزار می‌گردد،امسال نیز کدرکانف در همین تاریخ با حضور برنامه نویسان مطرح کشور در بورد تخصصی جاوااسکریپت برگزار خواهد شد، یک گردهمایی متفاوت با طعم Javascript. Coderconf هر سال نسبت به سال‌های گذشته با حضور برنامه‌نویسان پر رنگتر می‌شود. ما سعی کردیم هر ساله به این کنفرانس مفهوم عمیق تری ببخشیم تا از آنچه در سال‌های گذشته عرضه شده به روزتر و مفیدتر واقع شویم. امسال فرصتی خواهد بود تا با نگرشی جدید و بهبود مطالب ارائه شده، عمیقتر به این موضوع نگاه کنیم تا بجای تکرار مباحث پیشین گامی هر چند کوچک در مسیر ارتقای دانش فنی برنامه‌نویسان ایرانی برداریم. ما در Coderconf ۴ با تمرکز بر روی Javascript نیت کرده‌ایم این فرصت را در اختیار برنامه نویسان قرار دهیم تا با ظرافت و استانداردهای روز دنیا کار خود را پیش ببرند. به نظر ما امسال زمان آن فرا رسیده‌است تا این زبان را به صورت تخصصی و از ابعاد مختلف به چالش بکشیم.   دبیر علمی همایش میلاد حیدری، کدرکانف ۴ را اینگونه توصیف کرده است :اشتراک گذاری دانش بهترین راه رسیدن به جاودانگی اطلاعات است. هر ساله همایش‌های زیادی برگزار میشه که افراد شرکت‌کننده می‌توانند با افراد مجرب شبکه سازی کنند. امسال در کدرکانف سعی کردیم علاوه بر بخش شبکه سازی بین افراد بیشتر روی انتقال دانش و کیفیت ارائه ها تمرکز داشته باشیم . به قصد یک گردهمایی بلند مدت بین برنامه‌نویسان جاوااسکریپت که با هم تبادل دانش و اطلاعات کنند گردهم آییم.
      بنده به عنوان عضو کوچکی از جامعه برنامه‌نویسان جاوااسکریپت ایران امیدوارم در کدرکانف امسال علاوه بر شبکه سازی، از اطلاعاتی که دوستان در این همایش در اختیارتان قرار می‌دهند استفاده کنید. در سایت همایش میتوانید سخنرانان و موضوع پنل همایش کدرکانف رو مشاهده کنید . علاقه‌مندان به حضور در این همایش می‌توانند با کد تخفیف wpparsi اقدام به ثبت نام در این گردهمایی کنند. سایت همایش :‌http://coderconf.org
      بلیط فروشی همایش :‌https://evand.com/events/coderconf4  
neda299

ورود با شماره موبایل به جای ایمیل در وردپرس

12 پست در این موضوع قرار دارد

سلام دوستان

میخوام کد بخش ثبت نام سایت و لاگین رو طوری تغییر بدم که به جای ایمیل با شماره موبایل کار کنه یعنی هم ثبت نام کنه هم برای ورود شماره موبایل رو بگیره لاگین کنه

کدشو اگر کسی دارین ممنون میشم بدین یا اینکه راهنمایی کنین چطوری تغییرش بدم در حد متوسط یا خوب خود وردپرس و کدنویسیشو بلدم

0

به اشتراک گذاری این پست


لینک به پست

از اونجایی که در کدنویسی وردپرس خوب هستین کاری که باید انجام بدین این هست

در بخش ثبت نام باید یک فیلد به اسم موبایل اضافه کنید و شماره موبایل رو در یوزر متا ذخیره کنید
برای لاگین هم باید از طریق شماره موبایل user_login رو بدست بیارین بعد از طریق تابع wp_signon لاگین کردن(یوزر و پسورد) رو چک و انجام بدین

3

به اشتراک گذاری این پست


لینک به پست

یک دنیا ممنون از کمکتون

من یک یوزر متا به فرم ثبت نام اضافه کردم که شماره موبایل رو تو دیتابیس ذخیره میکنه و تو پروفایل هر شخص هم قابل ادیت هست حالا فقط نمیدونم باید چطوری ایمیل رو حذف کنم از صفحه ثبت نام و فقط با شماره موبایل و پسورد کاربر وارد سایت بشه(تقریبا منظورم خط دوم صحبت شماست
راستی من این بخشو به صورت یک پلاگین تا الان نوشتم .

 

 

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

<?php
/*
Plugin Name: ورود با موبایل
/
*/
add_action( 'register_form', 'crf_registration_form' );
function crf_registration_form() { ?>
 <p>
        <label for="mpmobile">شماره موبایل<br/>
            <input type="text" class="form-control" name="mpmobile" id="reg_billing_mob_num" value="<?php if ( ! empty( $_POST['mpmobile'] ) ) esc_attr_e( $_POST['mpmobile'] ); ?>" />
        </label>
</p>
<?php
}
add_filter( 'registration_errors', 'crf_validate_mobnum_register', 10, 3 );
function crf_validate_mobnum_register( $errors, $sanitized_user_login, $user_email ) {
    if ( isset( $_POST['mpmobile'] ) && empty( $_POST['mpmobile'] ) ) {
        $errors->add( 'mpmobile_error', __( 'شماره تلفن همراه خود را وارد کنید.', 'woocommerce' ) );
    }
    elseif (isset( $_POST['mpmobile'] ) &&  !preg_match("/^09-?[0-9]{2}-?[0-9]{3}-?[0-9]{4}$/",  $_POST['mpmobile'] )) {
        $errors->add( 'mpmobile_error', __( 'شماره تلفن همراه خود را در قالب درست وارد کنید.', 'woocommerce' ) );
    }
    else {
        $yoursearchquery =  $_POST['mpmobile'] ;
        $args = array( 'meta_key' => 'mpmobile', 'meta_value' => $yoursearchquery, 'number' => 1 ) ;
 
        $user_query = new WP_User_Query( $args );
        // User Loop
        if ( ! empty( $user_query->results ) ) {
            $errors->add( 'mpmobile_error', __( 'این شماره تلفن در سیستم قبلا ثبت نام شده است.', 'woocommerce' ) );
        }
    }
    return $errors;
}

add_action( 'user_register', 'crf_user_register' );
function crf_user_register( $user_id ) {
    if ( isset( $_POST['mpmobile'] ) ) {
        update_user_meta( $user_id, 'mpmobile', sanitize_text_field( $_POST['mpmobile'] ) );
    }
}

add_action( 'show_user_profile', 'my_show_mobnum_profile_fields' );
add_action( 'edit_user_profile', 'my_show_mobnum_profile_fields' );
function my_show_mobnum_profile_fields ( $user ){
    ?>
<table class="form-table">
    <tr>
        <th><label for="mpmobile">شماره تلفن همراه</label></th>
        <td>
            <input type="text" name="mpmobile" id="mpmobile" value="<?php echo esc_attr( get_the_author_meta( 'mpmobile', $user->ID ) ); ?>" class="regular-text" />
            <span class="description">لطفا شماره تلفن همراه را وارد کنید ، به طور مثال : ۰91200000000</span>
        </td>
    </tr>
</table>
<?php }
add_action( 'personal_options_update', 'save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' );
 
function save_extra_user_profile_fields( $user_id ) {
 
if ( !current_user_can( 'edit_user', $user_id ) ) { return false; }
 
update_user_meta( $user_id, 'mpmobile', $_POST['mpmobile'] );
}

ویرایش شده در توسط neda299
0

به اشتراک گذاری این پست


لینک به پست
در در 6/26/2018 at 10:32، lord_viper گفته است :

از اونجایی که در کدنویسی وردپرس خوب هستین کاری که باید انجام بدین این هست

در بخش ثبت نام باید یک فیلد به اسم موبایل اضافه کنید و شماره موبایل رو در یوزر متا ذخیره کنید
برای لاگین هم باید از طریق شماره موبایل user_login رو بدست بیارین بعد از طریق تابع wp_signon لاگین کردن(یوزر و پسورد) رو چک و انجام بدین

سلام مجدد و تشکر بابت پاسخ دهیتون

امکانش هست در مورد خط دومتون بیشتر توضیح بدین؟
(برای لاگین هم باید از طریق شماره موبایل user_login رو بدست بیارین بعد از طریق تابع wp_signon لاگین کردن(یوزر و پسورد) رو چک و انجام بدین)

0

به اشتراک گذاری این پست


لینک به پست

ببینین WP_SIGNON 2 تا پارامتر میگیره user_login و password خب حرکت شما این هست که از شماره موبایل به user_login برسین تا بتونین لاگین رو انجام بدین

برای این کار با استفاده از شماره موبایل که تو جدول usermeta هست user_id رو بدست میارین و از طریق این user_id هم user_login مرتبط با اون شماره موبایل رو بدست میارین بعد با استفاده از user_loogin وpassword که کاربر وارد کرده به تابع wp_signop ارسال میکنین در صورتی که یوزر و پسورد صحیح باشه(برای 1 کاربر ) باشه لاگین میشه

این برای زمانی هست که بخش لاگین رو خودتون نوشته باشین

اگه میخواهید برای لاگینهای دیگه یا لاگین وردپرس این کار رو انجام بدین باید از هوک زیر استفاده کنید

add_action( 'wp_authenticate' , 'check_custom_authentication' );

 

2

به اشتراک گذاری این پست


لینک به پست

وقت بخیر

من این کد رو نوشتم ولی بازم وارد سایت نمیشه

// shortcode login form
add_shortcode('newloginform','myplugin_add_login_fields');
add_action( 'login_form', 'myplugin_add_login_fields' );
function myplugin_add_login_fields() {
    if ( isset( $_POST['wp-submit'] )) {
        $mobid = $_POST['mpmobile'];
        $redirectt = $_POST['redirect'];
        $formpwd = $_POST['pwd'];
        if ( ! empty($mobid) || ! empty($formpwd) ) {
            $args = array(
                'meta_query' => array(
                    array(
                        'key' => 'mpmobile',
                        'value' => $mobid,
                    )
                )
            );
            $user_query = new WP_User_Query( $args );
            if ( ! empty( $user_query->get_results() ) ) {
                    foreach ( $user_query->get_results() as $user ) {
                        $userlog = $user->user_login;
                        $userpa = $_POST['pwd'];
                    }
                add_action('wp_authenticate','tiny_login');
                function tiny_login() {
                    $creds = array();
                    $creds['user_login'] = $userlog;
                    $creds['user_password'] = $userpa;
                    $creds['remember'] = false;
                    $user = wp_signon( $creds );
                    echo $user;
                    if ( is_wp_error($user) ) {
                      $tiny_error = $user->get_error_message();
                    } else {
                        wp_redirect($redirectt);
                        echo $redirectt;
                    }
                }
            } else {
                echo 'این شماره در سیستم ثبت نشده است.';
            }
        }else{
            echo 'شماره تلفن همراه یا پسورد وارد نشده است.';
        }
}
  ?>
    <form id="login-form" action="<?php //echo wp_login_url();?>" method="post">
        شماره همراه : <input type="text" name="mpmobile" />
        پسورد : <input id="login-password" type="password" name="pwd" />
        <input type="text" name="redirect" value="/wp-admin/">
        <input id="login-submit" type="submit" name="wp-submit" value="ورود" />
        <a id="membership" href="<?php echo wp_login_url();?>?action=register">عضویت</a> <a href="<?php echo wp_login_url();?>?action=lostpassword">رمز خود را فراموش کرده ام!</a>
      </form>
<?php
}

دیگه واقعا نمیدونم باید چکار کنم

0

به اشتراک گذاری این پست


لینک به پست
در در 6/28/2018 at 19:17، lord_viper گفته است :

ببینین WP_SIGNON 2 تا پارامتر میگیره user_login و password خب حرکت شما این هست که از شماره موبایل به user_login برسین تا بتونین لاگین رو انجام بدین

برای این کار با استفاده از شماره موبایل که تو جدول usermeta هست user_id رو بدست میارین و از طریق این user_id هم user_login مرتبط با اون شماره موبایل رو بدست میارین بعد با استفاده از user_loogin وpassword که کاربر وارد کرده به تابع wp_signop ارسال میکنین در صورتی که یوزر و پسورد صحیح باشه(برای 1 کاربر ) باشه لاگین میشه

این برای زمانی هست که بخش لاگین رو خودتون نوشته باشین

اگه میخواهید برای لاگینهای دیگه یا لاگین وردپرس این کار رو انجام بدین باید از هوک زیر استفاده کنید


add_action( 'wp_authenticate' , 'check_custom_authentication' );

 

میشه این سوالم هم جواب بدین
یک دنیا تشکر

0

به اشتراک گذاری این پست


لینک به پست

منظورتون کدی که نوشتین هست؟

 

کدتون تقریبا به صورت زیر میشه

// shortcode login form
add_shortcode('newloginform','myplugin_add_login_fields');
add_action( 'login_form', 'myplugin_add_login_fields' );
function myplugin_add_login_fields() {
    if ( isset( $_POST['wp-submit'] )) {
        $mobid = $_POST['mpmobile'];
        $redirectt = $_POST['redirect'];
        $formpwd = $_POST['pwd'];
        if ( ! empty($mobid) || ! empty($formpwd) ) {

            $user_query = get_users(array('meta_key' => 'mpmobile', 'meta_value' => $mobid));
            if ( ! empty( $user_query) ) {

                    $creds = array();
                    $creds['user_login']    = $user_query->user_login;
                    $creds['user_password'] = $formpwd;
                    $creds['remember']      = false;
                    $user  = wp_signon( $creds );
                    echo $user;
                    if ( is_wp_error($user) ) {
                      $tiny_error = $user->get_error_message();
                    } else {
                        wp_redirect($redirectt);
                        echo $redirectt;
                    }
                }
            } else {
                echo 'این شماره در سیستم ثبت نشده است.';
            }
        }else{
            echo 'شماره تلفن همراه یا پسورد وارد نشده است.';
        }
  ?>
    <form id="login-form" action="<?php //echo wp_login_url();?>" method="post">
        شماره همراه : <input type="text" name="mpmobile" />
        پسورد : <input id="login-password" type="password" name="pwd" />
        <input type="text" name="redirect" value="/wp-admin/">
        <input id="login-submit" type="submit" name="wp-submit" value="ورود" />
        <a id="membership" href="<?php echo wp_login_url();?>?action=register">عضویت</a> <a href="<?php echo wp_login_url();?>?action=lostpassword">رمز خود را فراموش کرده ام!</a>
      </form>
<?php
}

 

1

به اشتراک گذاری این پست


لینک به پست

متاسفانه در همه حالات این تابع wp_signon اصلا کار نمیکنه من الان میخوام وقتی شماره موبایل و پسورد زده میشه وارد داشبورد یا یک لینکی که میدم ری دایرکت بشه اما هیچ تغییری اعمال نمیشه

در حال حاضر وقتی توی فرمم موبایل و پسورد میزنم ارور نمیده اما وارد هم نمیشه

در 58 دقیقه قبل، lord_viper گفته است :

منظورتون کدی که نوشتین هست؟

 

کدتون تقریبا به صورت زیر میشه


// shortcode login form
add_shortcode('newloginform','myplugin_add_login_fields');
add_action( 'login_form', 'myplugin_add_login_fields' );
function myplugin_add_login_fields() {
    if ( isset( $_POST['wp-submit'] )) {
        $mobid = $_POST['mpmobile'];
        $redirectt = $_POST['redirect'];
        $formpwd = $_POST['pwd'];
        if ( ! empty($mobid) || ! empty($formpwd) ) {

            $user_query = get_users(array('meta_key' => 'mpmobile', 'meta_value' => $mobid));
            if ( ! empty( $user_query) ) {

                    $creds = array();
                    $creds['user_login']    = $user_query->user_login;
                    $creds['user_password'] = $formpwd;
                    $creds['remember']      = false;
                    $user  = wp_signon( $creds );
                    echo $user;
                    if ( is_wp_error($user) ) {
                      $tiny_error = $user->get_error_message();
                    } else {
                        wp_redirect($redirectt);
                        echo $redirectt;
                    }
                }
            } else {
                echo 'این شماره در سیستم ثبت نشده است.';
            }
        }else{
            echo 'شماره تلفن همراه یا پسورد وارد نشده است.';
        }
  ?>
    <form id="login-form" action="<?php //echo wp_login_url();?>" method="post">
        شماره همراه : <input type="text" name="mpmobile" />
        پسورد : <input id="login-password" type="password" name="pwd" />
        <input type="text" name="redirect" value="/wp-admin/">
        <input id="login-submit" type="submit" name="wp-submit" value="ورود" />
        <a id="membership" href="<?php echo wp_login_url();?>?action=register">عضویت</a> <a href="<?php echo wp_login_url();?>?action=lostpassword">رمز خود را فراموش کرده ام!</a>
      </form>
<?php
}

 

 

0

به اشتراک گذاری این پست


لینک به پست

ببخشید چرا از پلاگین های آماده این کار استفاده نمی کنید؟

0

به اشتراک گذاری این پست


لینک به پست

اگه بخواهید از هوک استفاده کنید کد به صورت زیر میشه

add_action( 'wp_authenticate' , 'check_custom_authentication');

function check_custom_authentication (&$mobid ) {
        global $wpdb;
        if(!is_numeric($mobid) or strlen($mobid)!=11)
        return;
        $user_query = get_users(array('meta_key' => 'mpmobile', 'meta_value' => $mobid));
        if ( ! empty( $user_query) )
        $mobid = $user_query[0]->data->user_login;
}

کد شما هم به صورت زیر میشه

// shortcode login form
add_shortcode('newloginform','myplugin_add_login_fields');
add_action( 'login_form', 'myplugin_add_login_fields' );
function myplugin_add_login_fields() {
    if ( isset( $_POST['wp-submit'] )) {
        $mobid = $_POST['mpmobile'];
        $redirectt = $_POST['redirect'];
        $formpwd = $_POST['pwd'];
        if ( ! empty($mobid) || ! empty($formpwd) ) {

            $user_query = get_users(array('meta_key' => 'mpmobile', 'meta_value' => $mobid,'fields'=>['user_login']));
            if ( ! empty( $user_query) ) {

                    $creds = array();
                    $creds['user_login']    = $user_query[0]->user_login;
                    $creds['user_password'] = $formpwd;
                    $creds['remember']      = false;
                    $user  = wp_signon( $creds );
                    echo $user;
                    if ( is_wp_error($user) ) {
                      $tiny_error = $user->get_error_message();
                    } else {
                        wp_redirect($redirectt);
                        echo $redirectt;
                    }
                }
            } else {
                echo 'این شماره در سیستم ثبت نشده است.';
            }
        }else{
            echo 'شماره تلفن همراه یا پسورد وارد نشده است.';
        }
  ?>
    <form id="login-form" action="<?php //echo wp_login_url();?>" method="post">
        شماره همراه : <input type="text" name="mpmobile" />
        پسورد : <input id="login-password" type="password" name="pwd" />
        <input type="text" name="redirect" value="/wp-admin/">
        <input id="login-submit" type="submit" name="wp-submit" value="ورود" />
        <a id="membership" href="<?php echo wp_login_url();?>?action=register">عضویت</a> <a href="<?php echo wp_login_url();?>?action=lostpassword">رمز خود را فراموش کرده ام!</a>
      </form>
<?php
}

 

2

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط soheil1
      سلام دوستان من قالبی دارم که دوتا فایل css داره یکی حالت شب و مشکی یکی روز و سفید. الان به صورت دستی میشه از تنظیمات قالب بین این دوحالت سوئیچ کرد میخوام بدونم راحی هست که کاربر با یک دکمه بین این دوحالت سوئیچ کنه یا مناسب با ساعت شبانه روز حالت شب و روز فعال بشه؟!
    • توسط radioahang
      با سلام سایت موزیکی دارم با سیستم وردپرسی یه مشگل داریم کسی می تونه راهنمایی کنه؟

      بعضی مواقع به صورت خودکار لینک بعضی از مطالب حذف میشه می خوام بدونم مشگل از کجاس 

      با اجازه مدیر انجمن ادرس سایت رو هم میذارم برای بررسی 

      radioahang.net
    • توسط سیدمحسن
      سلام بنده دسترسی به بخش خرید و فروش نداشتم اینجا تاپیک گذاشتم
      بنده یک فرد که مسلط به وردپرس و برنامه نویسی باشه رو میخوام یه تغییراتی توی ووکامرس و قالبم میخوام
      هر کس که آمادگی داره لطفا پیام بده راجع به قیمت و چیزی که میخوام به طور دقیق صحبت کنیم.
    • توسط araska
      سلام
      روی وردپرس  ووکامرس و دکان نصب کردم نصب کردم حالا میخوام فقط در سطح شهر فعالیت کنم.
      یه افزونه میخوام که فروشنده های سایتم رو در یک شعاع مشخص ( که خودم اندازه اش رو تعیین میکنم ) برای مشتری نمایش بده ( مثلا لیست کنه ) و مشتری یکی رو انتخاب کنه و ازش خرید کنه .
      فکر کنم باید براساس مختصات باشه مثلا از gps استفاده بشه
      ممنون میشم کمکم کنید
    • توسط hcp90
      سلام دوستان
      من خیلی وفته به خاطر کنکور دست به برنامه نویسی نزدم و خیلی چیز ها یادم رفته.
      وقتی ووکامرس رو راه اندازی میکنم، چطور باید طراحی دلخواه خودم رو روش پیاده کنم ؟ به طور مثال میخوام سبد خریدش رو دیزاین کنم و مثلا مشکیش کنم. برای این کار ها باید داخل خوده فایل های افزونه را ویرایش کنم یا باید یه فایل بسازم داخل خوده قالبم ؟ اگه باید اینکار رو بکنم، فایلش باید به چه اسمی باشه؟ اگر میشه لطفا کمی درباره این موضوع توضیح بدید
      ممنون