سعید شعبانی

افزودن فرم ورود - خروج به نوار بالایی سایت به همراه چند ویژگی دیگر

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

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

دوستان سلام خسته نباشید

من می خواهم در نواربالایی سایتم یک فرم ورود و خروج بگذارم تقریبا مثل همینی که داخل آموزش گذاشتم ولی این اولا به صورت ajax هست بعد هم از قالب جدا میشه. ولی من می خواهم تقریبا مثل فرم ورود سایت wpmu.org باشه. ممنون می شم اگر منو راهنمایی کنید البته برای این فرم هیچ افزونه ای را هم نمی خواهم استفاده کنم. راستی می خواهم دو ویژگی زیر را هم داشته باشه :

1- پس از ورود موفقیت آمیز به یک برگه دلخواه ریدایرکت شود

2- پس از خروج هم به صفحه اول بازگردد

post-412-0-97780100-1372362934_thumb.jpg

ویرایش شده در توسط سعید شعبانی
0

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


لینک به پست

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

من خودم تا حدی پیش رفتم.

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


<?php if (is_user_logged_in()) { ?>
<div id="topMenu">
<ul class="menu">
<li>
<a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="Logout">خروج</a>
</li>
</ul>
</div>
<?php } else { ?>
<div id="topMenu">
<ul class="menu">
<li>
<a href="http://dnoj.ir">ورود</a>
<ul class="sub-menu">
<?php $args = array(
'echo' => true,
'redirect' => site_url( '/%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF/' ),
'form_id' => 'loginform',
'label_username' => __( 'Username' ),
'label_password' => __( 'Password' ),
'label_remember' => __( 'Remember Me' ),
'label_log_in' => __( 'Log In' ),
'id_username' => 'user_login',
'id_password' => 'user_pass',
'id_remember' => 'rememberme',
'id_submit' => 'wp-submit',
'remember' => true,
'value_username' => NULL,
'value_remember' => false ); ?>
<?php wp_login_form( $args ); ?>
</ul>
</li>
</ul>
</div>
<?php } ?>

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


<a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="Logout">Logout</a>

بعد کد زیر که باید لینک عضویت را نشان دهد این کار را نمی کند چرا؟


<?php wp_register(); ?>

ویرایش شده در توسط سعید شعبانی
1

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


لینک به پست

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

http://stackoverflow.com/questions/189113/how-do-i-get-current-page-full-url-in-php-on-a-windows-iis-server


<?php echo site_url('wp-login.php?action=register', 'login') ?>

2

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


لینک به پست

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

http://stackoverflow...dows-iis-server


<?php echo site_url('wp-login.php?action=register', 'login') ?>

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

1

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


لینک به پست

تابع


function currentPageURL() {
$curpageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$curpageURL.= "s";}
$curpageURL.= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$curpageURL.= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$curpageURL.= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $curpageURL;
}

3

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


لینک به پست

تابع


function currentPageURL() {
$curpageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$curpageURL.= "s";}
$curpageURL.= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$curpageURL.= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$curpageURL.= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $curpageURL;
}

میشه بپرسم چرا این تابع اینجوریه؟ روی سرور فشار نمیاره؟

0

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


لینک به پست

چطوریه؟

نه

1

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


لینک به پست

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

چطوریه؟

نه

خوب حالا چجوری باید داخل تابع


<?php echo wp_logout_url( get_permalink() ); ?>

یا


<?php echo wp_lostpassword_url( get_permalink() ); ?>

بگذارمش؟

ویرایش شده در توسط سعید شعبانی
0

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


لینک به پست

به جای تابع get_permalink استفاده کنید

2

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


لینک به پست

به جای تابع get_permalink استفاده کنید

من به شکل زیر گذاشتم ولی صفحه باز نمیشه


<a href="<?php echo wp_logout_url function currentPageURL() {
$curpageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$curpageURL.= "s";}
$curpageURL.= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$curpageURL.= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$curpageURL.= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $curpageURL;
} ; ?>" title="Logout">خروج</a>

1

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


لینک به پست

بلاک توابع رو شما باید در فایل functions قرار دهید

و آنرا در فایلهای دیگر استفاده کنید

http://www.w3schools.com/php/php_functions.asp

http://www.tizag.com/phpT/phpfunctions.php

http://php.about.com/od/learnphp/ss/php_functions.htm

<?php echo wp_logout_url( currentPageURL() ); ?>

2

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


لینک به پست

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


/&_wpnonce=d83da92903

0

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


لینک به پست

کد هش شده برای درخواستها در وردپرس هست

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

1

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


لینک به پست

کد هش شده برای درخواستها در وردپرس هست

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

خوب موتور های جستجو که این لینک ها را دنبال نمی کنند درسته؟ یا باید لینک ها رو nofollow کنم؟

0

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


لینک به پست

خوب موتور های جستجو که این لینک ها را دنبال نمی کنند درسته؟ یا باید لینک ها رو nofollow کنم؟

فکر نکنم چون صفحه لاگین noindex,nofollow هست

ولی بازم مشکلی نداره اگر انجام دهید

2

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


لینک به پست

<?php
function currentPageURL() {
$curpageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$curpageURL.= "s";}
$curpageURL.= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$curpageURL.= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$curpageURL.= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $curpageURL;
}

echo wp_logout_url( currentPageURL() ); ?>

2

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


لینک به پست


<?php
function currentPageURL() {
$curpageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$curpageURL.= "s";}
$curpageURL.= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$curpageURL.= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$curpageURL.= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $curpageURL;
}

echo wp_logout_url( currentPageURL() ); ?>

ممنون درست شده فقط چجوری میشه کاری کرد تا زمان خروج به صفحه اصلی ریدایرکت بشه؟

0

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


لینک به پست

بجای تابعی که پارسا داده از تابع get_bloginfo استفاده کنید و بهش مقدار home رو بدید

1

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


لینک به پست

بجای تابعی که پارسا داده از تابع get_bloginfo استفاده کنید و بهش مقدار home رو بدید

درست شد از کد زیر استفاده کردم


<?php echo wp_logout_url( home_url() ); ?>

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

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط t-51
      با سلام خدمت شما .
      ببخشید برای من مشکلی پیش اومده سعی کردم امنیت سایت رو ببرم بالا اما متاسفانه بر اثر اشتباهی ادرس لاگین رو فراموش کردم !
      ایا راه حلی بریا باز گردانی ادرس لاگین هست ؟
      اگر بتوانید کمک کنید ممنون شما میشم !
      htaccess اینم دلیت کردم
    • توسط vazizi69@yahoo.com
      سلام ممنون میشم اگر منو راهنمایی کنید 
      من تو سایت وردپرسی میخوام صفحه ای داشته باشم که یک url جستجو داشته باشه و وقتی کد محصول رو اونجا وارد کردم 
      در همان صفحه زیر ادرس بار محصول رو به صورت باز شده نشون بده 
      یعنی مستقیم به داخل صفحه محصول که کدش رو زدم بره و دکمه خرید داشته باشه 
      با هر افزونه جستجو که انجام میدم یا کلی مطالب و محصول مرتبط رو به صورت لیست نشون میده 
       لینک نمونه صفحه ای که میخوام داشته باشم 
      https://digikatoni.ir/single-checkout/
    • توسط masoudmosleh267
      سلام دوستان. من میخوام تو قسمت فرم ثبت نام سایتم، زمانی که کاربر یوزرنیم تکراری زد ارور بده. الان زمانی که یوزر تکراری وارد شه، فیلد ایمیل زرد میشه و صفحه همونطوری میمونه و اتفاقی رخ نمیده و کاربر نمیفهمه چی شده.
      بعد میخوام قسمت ورودی رمز عبور کاربر محدودیت حداقل 6 کاراکتر ایجاد شه که در غیر این صورت ارور بده.
      فیلد ایمیل هم اخطار بده که این ایمیل قبلا ثبت نام شده. در واقع هیج اروری نمیده. و بگه که آدرس ایمیل باید معتبر باشد و در غیر این صورت ارور بده. الان هرچی بزنم ثبت نام میشه فقط نباید تکراری باشه.
      الان یه سری ارور زیر فیلد ها تعریف کردم ولی همیشه این ارور ها هست و زمانه که فیلدی اشتباه باشه بجای اینکه ارور ظاهر شه، میره.
       
      این یه سری از کدای فایل هست:
      <form method="post" id="userRegistration">
                                          <div class="form-group">
                                              <input type="hidden"  class="referer" value="<?php echo wp_get_referer() ?: get_home_url()  ?> ">
                                          </div>
                                          <?php
                                          if(function_exists('wp_nonce_field')){
                                              echo '<div class="form-group">';
                                              wp_nonce_field('user_registration_action', 'user_registration_nonce');
                                              echo '</div>';
                                          }
                                          ?>
                                          
                                          <div class="form-group">
                                              <label for="register_username" class="control-label"><?php esc_html_e('Username', Khadamaator::NAME); ?></label>
                                              <input type="text" name="register_username" id="register_username" class="form-control username" aria-describedby="register_username_help_block">
                                              <span id="username_help_block" class="help-block">نام کاربری باید لاتین باشد.</span>
                                          </div>
                                          <div class="form-group">
                                              <label for="register_password" class="control-label"><?php esc_html_e('Password', Khadamaator::NAME); ?></label>
                                              <input type="password" name="register_password" id="register_password" class="form-control password" aria-describedby="register_password_help_block">
                                              <span id="password_help_block" class="help-block">رمز عبور باید حداقل 6 کاراکتر باشد.</span>
                                          </div>
                                          <div class="form-group">
                                              <label for="register_email" class="control-label"><?php esc_html_e('Email', Khadamaator::NAME); ?></label>
                                              <input type="text" name="register_email" id="register_email" class="form-control email" aria-describedby="register_email_help_block">
                                              <span id="email_help_block" class="help-block">هر ایمیل تنها یکبار میتواند ثبت شود.</span>
                                          </div>
                                          <button type="submit" class="btn btn-sm btn-primary" data-loading-text="<i class='fa fa-spinner fa-spin '></i> در حال ارتباط" ><?php esc_html_e('Signup', Khadamaator::NAME); ?></button>
                                      </form>
    • توسط حامد قاسمی
      سلام 
      من مبخوام در یکی از بخش های صفحات سایت فرمی ایجاد کنم که کاربر بتونه متنی رو بنویسه و به ایمیل تعیین شده ارسال کنه 
      برای این کار افزونه Contact Form 7 رو انتخاب کردم 
      میخوام در ایمیلی که ارسال میشه همراه متن کاربر (و ترجیا بدون اینکه کاربر ببینه) آدرس صفجه ای که فرم درش کلیک شده  هم ارسال بشه 
       
      امکانش هست ؟ 
      و اگر نیست راهکار جایگزینی دارید دوستان؟
    • توسط madidi
      سلام 
      آیا افزونه ای میشناسید که بشه باهاش یه فرم ساخت و وقتی کاربر فرم پر و ارسال کرد 
      بصورت اتوماتیک به عنوان مقاله ارسال بشه یا در پیش نویس در دسته خاصی ذخیرش کنه؟