رفتن به مطلب

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


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

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

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

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

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

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

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

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

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


<?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(); ?>

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

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

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') ?>

لینک به ارسال

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

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


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

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

لینک به ارسال

تابع


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;
}

لینک به ارسال

تابع


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;
}

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

لینک به ارسال

چطوریه؟

نه

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


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

یا


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

بگذارمش؟

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

به جای تابع 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>

لینک به ارسال

بلاک توابع رو شما باید در فایل 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() ); ?>

لینک به ارسال

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


/&_wpnonce=d83da92903

لینک به ارسال

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

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

لینک به ارسال

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

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

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

لینک به ارسال

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

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

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

لینک به ارسال

<?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() ); ?>

لینک به ارسال


<?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() ); ?>

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

لینک به ارسال

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

لینک به ارسال

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

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


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

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

لینک به ارسال

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

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

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

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

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

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

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

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

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