رفتن به مطلب

پست های پیشنهاد شده

من فرم ورود به وردپرس رو در سایتم و در صفحه ای مجزا ایجاد کردم . به این صورت که کاربر روی دکمه خرید محصول کلیک میکنه و در صورتی که در سایت وارد نشده باشد میره توی صفحه http://mysite.com/login بعد توی این صفحه وارد سایت میشه . حالا من میخوام بعد از وارد شدن دوباره به صفحه قبل برگرده . یعنی به صفحه ای که قبلا توش بوده و اقدام به وارد شدن کرده

لینک به ارسال

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


<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>

لینک به ارسال

فیلدی مخفی در فرم ایجاد کنید با مقدار آدرس صفجه جاری


<input type="hidden" value="url" name="redirect_to">

آدرس صفجه جاری

http://stephenharris.info/how-to-get-the-current-url-in-wordpress/

لینک به ارسال
ارسال شده در (ویرایش شده)

فیلدی مخفی در فرم ایجاد کنید با مقدار آدرس صفجه جاری


<input type="hidden" value="url" name="redirect_to">

آدرس صفجه جاری

http://stephenharris...l-in-wordpress/

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

نفهمیدم صفحه جاری رو چگونه بسازم

ویرایش شده توسط mrasoul
لینک به ارسال


echo '<input type="hidden" value="'.home_url(add_query_arg(array(),$wp->request)).'" name="redirect_to">';

عمل نکرد و پیغام این صفحه یافت نشد رو داد


<?php /* Template Name: login */ ?>
<?php get_header(); ?>
<div id="wrap">
<div class="loginform">
<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
<input type="hidden" value="'.home_url(add_query_arg(array(),$wp->request)).'" name="redirect_to">
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>
</div>

</div>
<?php get_footer(); ?>

لینک به ارسال

<?php /* Template Name: login */ ?>
<?php get_header(); ?>
<div id="wrap">
<div class="loginform">
<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<?php
global $wp;
echo '<input type="hidden" value="'.home_url(add_query_arg(array(),$wp->request)).'" name="redirect_to">';
?>
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>
</div>
</div>
<?php get_footer(); ?>

لینک به ارسال


<?php /* Template Name: login */ ?>
<?php get_header(); ?>
<div id="wrap">
<div class="loginform">
<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<?php
global $wp;
echo '<input type="hidden" value="'.home_url(add_query_arg(array(),$wp->request)).'" name="redirect_to">';
?>
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>
</div>
</div>
<?php get_footer(); ?>

این دستور صحیح نیست بازهم با پیغام این صفحه یافت نشد مواجه شدم و به علاوه اینکه آدرسی که در مرورگر بود این بود :

http://localhost/wordpress/.home_url(add_query_arg(array(),$wp->request)).

که واقعا آدرس عجیبیه . معلوم که دستور اشتباهه

لینک به ارسال

<?php /* Template Name: login */ ?>
<?php get_header(); ?>
<div id="wrap">
<div class="loginform">
<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<?php echo '<input type="hidden" value="http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'" name="redirect_to">';?>
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>
</div>
</div>
<?php get_footer(); ?>

لینک به ارسال


<?php /* Template Name: login */ ?>
<?php get_header(); ?>
<div id="wrap">
<div class="loginform">
<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<?php echo '<input type="hidden" value="http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'" name="redirect_to">';?>
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>
</div>
</div>
<?php get_footer(); ?>

عمل ریدایرکت صورت نگرفت . شم خوددتون تست کردید ؟

لینک به ارسال

با یک تم دیگه که نمیتونم من میخوام روی این پوسته قرار بدم . در مورد پلاگین هم پلاگین خاصی نصب نیست . فقط easy digital و افزونه ی برای منو

فکر نمیکنم پوسته مشکلی داشته باشه ! توی پوسته چیزی در مورد ورود و ریدایرکت وجود نداره

لینک به ارسال

فکر کنم یک چیزی رو متوجه نشدید .

1. این فرم ورود داخل یک صفحه قرار داره مثل : mysite.com/login

2. داخل ادامه مطلب دکمه ای به عنوان خرید محصول وجود داره . این دکمه وقتی کاربر هنوز وارد سایت نشده باشد شرطی دارد که لینک به آدرس mysite.com/login را میدهد .

3. حال کاربر با استفاده از این فرم وارد سایت میشود .

4. بنده میخوام که کاربر بعد از ورود دوباره به ادامه مطلب برو . (ادامه مطلبی که قبلا اتخاب کرده )

در این دستور بنده به صفحه قبل بر میگرد اما این صفحه قبل همان صفحه login می باشد . فکر کنم باید 2 مرحله به عقب برگردم که میشه ادامه مطلب پست انتخاب کرده


<?php if (!(current_user_can('level_0'))){ ?>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" />
<input type="submit" name="submit" value="Send" class="button" />
<p>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
<?php echo '<input type="hidden" value="http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'" name="redirect_to">';?>
</p>
</form>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">بازیابی رمز عبور</a>
<?php } else { ?>
<a href="<?php echo wp_logout_url( get_permalink()); ?>">خروج</a>
<a href="<?php echo get_option('home'); ?>/wp-admin">مدیریت</a>
<?php }?>

لینک به ارسال

گفتم خدمتتون که برای کد کارمیکنه،تعویض پوسته برای تسته صحت کد هست

شما الان حرف گوش کن با یه تم دیگه تستی امتحان کن و نتیجه رو بذار تابهت بگم چیکار کنی

پس کد اوکی بوده

بله باید دوتا بیاد عقب!شما الان کد مربوط به صفحه دکمه رو بذار

ویرایش شده توسط Goback
لینک به ارسال

گفتم خدمتتون که برای کد کارمیکنه،تعویض پوسته برای تسته صحت کد هست

شما الان حرف گوش کن با یه تم دیگه تستی امتحان کن و نتیجه رو بذار تابهت بگم چیکار کنی

پس کد اوکی بوده

بله باید دوتا بیاد عقب!شما الان کد مربوط به صفحه دکمه رو بذار

کد صفحه دکمه چیه ؟

دکمه توی یک صفحه خاص که نیست . وقتی کاربر میره ادامه ی مطلب این دکمه رو میبینه

لینک به ارسال

مشکل قبل که پا برجاست هیچ یه مشکل دیگه هم ایجاد شد . اینکه اگه کاربر رمز و اشتباه بزنه خودکار میره به ادرس wp-login.php حالا اگه من روی پوشه wp-admin از طریق هاست پسورد بزارم کاربر بیچاره چیکار کنه ؟

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

لینک به ارسال
ارسال شده در (ویرایش شده)

با عرض سلام ، من چند روزیه به مشکل بزرگی برخورد کردم

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

1. من روی پوشه wp-admin پسورد میزارم برای امنیت بهتره . پس عملا کاربرا از طریق این صفحه نه میتونم عضو بشه نه وارد . پس با این وجود امکان نداره کاربران از صفحه wp-login.php هم استفاده کنند و من باید صفحه ای دیگر بسازم برای جذب کاربران .

2. حالا من صفحه ورود رو ساختم . وقتی مثلا در صفحه single قرار داره و روی دکمه خرید محصول کلیک میکنه ، درصورتی که وارد سایت نشده باشه میره به صفحه لوگینی که ساختم یا وارد میشه یا عضو میشه . حالا من حالتی میخوام بعد از عضویت و یا ورود ریدایرکت بشه به همون single که قبلا توش بوده و اقدام به خرید کرده .

3. تو این صفحه ورود هم مشکلات زیادی داره چون وقتی کاربر رمز اشتباه بزنه وصل میشه به صفحه wp-login.php . من میخوام این امکان ازش گرفته باشه و این عمل ریدایرکت صورت نگیره .

4. برای این صفحه ای که خودم ساختم میخوام کپچا قرار بدم تا از ورود ربات ها جلوگیری بشه . افزونه ای که کد دتی چیزی بده سراغ دارین که بشه کپچا رو جای دلخواه گذاشت ؟

ویرایش شده توسط mrasoul
لینک به ارسال

راه حل من اینه که مقدار صفحه جاری توی یه متغیر ارسال بشه به صفحه لاگین و اونجا توی اون input مخفی قرار بگیره

در مورد سوال دوم،اشتباه بزنه بایدم بره اونجا!

خوب دیگه من نمیخوام بره اونجا . چون وقتی روی پوشه ی wp-admin پسورد گذاشته بشه اونجا رفتن چه سودی داره

خوب دیگه من نمیخوام بره اونجا . چون وقتی روی پوشه ی wp-admin پسورد گذاشته بشه اونجا رفتن چه سودی داره

و منظور از مقدار صفحه جاری چیه

لینک به ارسال

افزونه فوق مناسب هستش


https://wordpress.org/plugins/zm-ajax-login-register/

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

و البته پس از ورود تو همون صفحه لوگین میمونه

لینک به ارسال
ارسال شده در (ویرایش شده)

توجه کنید شما . کاربری ممکنه تو صفحه index باشه و روی دکمه ورود بزنه و وارد سایت بشه ، یا کاربری ممکنه در صفحه single باشه و اقدام به وارد شدن به سایت کنه . من میخوام این شناسایی ها اتوماتیک انجام بشه و عمل ریدایرکت صورت بگیره.

با کد زیر عمل ریدایرکت صورت میگیره اما یک مرحله به عقب برمیگرده . یعنی اگه کرابر توی صفحه single باشه روی لوگین بزنه میره صفحه لوگین و عمل ریدایرکت اجام میشه و به جای اینکه برگرده به صفحه single بر میگرده بهصفحه لوگین که این میشه یکبار بازگشت به عقب

ویرایش شده توسط mrasoul
لینک به ارسال

الان یه فکری به سرم زدم . فکر کنم باید براش شرط گذاشته بشه . مثل این


<?php if ( $interim_login ) { ?>
<input type="hidden" name="interim-login" value="1" />
<?php } else { ?>
<input type="hidden" name="redirect_to" value="<?php echo esc_attr($redirect_to); ?>" />
<?php } ?>
<?php if ( $customize_login ) : ?>
<input type="hidden" name="customize-login" value="1" />
<?php endif; ?>

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

لینک به ارسال

و ای کاش در مورد این مقدار صفحه جاری توضیح میدادین که چجوری این مقدار رو بدست بیارم

لینک به ارسال
ارسال شده در (ویرایش شده)

یکی از دوستان من با دستورات if یجورایی حلش کرده اما خوب به دل من نچسبید مشکلاتی داشت اما یجورایی سرهم کرده

من حت افزونه user pro رو هم نصب کردم اما جواب نداد و ریدایرکت به سینگل صورت نمیگرفت

بنظر میاد کاریه نشدنی

ویرایش شده توسط mrasoul
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...