رفتن به مطلب

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


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

با سلام

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

سوال اول :بنده با استفاده از author.php یک پروفایل کاربری برای کاربران ساختم حالا میخوام در قسمت نظرات سایت وقتی کاربری نظری ثبت میکنه وقتی روی نام کاربریش کلیک میکنم به صفحه پروفایلش بره و پروفایل کاربر رو نمایش بده (الان به صورت پیش فرض ادرس سایت کاربرها رو نمایش میده)

الان ادرس قسمت پروفایل کاربران این گونه است a.ir/author/AMIR1 (امیر نام کاربر بوده و متغییر است )

ممنون میشم توضیح بدید باید کجا را باید ویرایش کنم

سوال دوم :اگر بخوام یک لینک در سایدبار قرار بدم که روش نوشته باشه پروفایل و هر کاربر وقتی پس از ورود روش کلیک میکنه به پروفایل خودش بره باید چه کدی قرار بدم

با تشکر از پاسخ گویی شما

لینک به ارسال

سلام

به انجمن وردپرس پارسی خوش اومدین.

لینکش به صورت زیره:


<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>" ><?php the_author(); ?></a>

لینک به ارسال

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


global $user_ID;
if($user_ID and $user_ID > 1) {
echo "<a href=\"".get_bloginfo('url')."/?author=".$user_ID."\">پروفایل</a>";
}

و اگر منظورتون صفحه ویرایش پروفایل است


if(is_user_logged_in()) {

echo "<a href=\"".get_bloginfo('url')."/wp-admin/profile.php\">پروفایل</a>";
}

لینک به ارسال

با سلام

سپاس از پاسخ گویی استاد و همیار عزیز

مشکل دوم یعنی قرار دادن لینک در سایدبار با کد SM-Mahdavi عزیز حل شد

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

این طور که من فهمیدم باید کدcomment.php ویرایش بشه اما نمیدونم کدام کد

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

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

لینک به ارسال

معمولا بخش نمایش نظرات callback می شه به functions.php و با کدهایی شبیه به


function fw_comment($comment, $args, $depth)
{
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='80',$default='<path_to_url>' ); ?>
<cite class="fn"><?php comment_author_link(); ?>:</cite>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<?php _e('Your comment is awaiting moderation.', kubrick); ?>
<br />
<?php endif; ?>

<div class="comment-meta commentmetadata"> <a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a></div>
<?php comment_text() ?><br />
<?php echo get_comment_author_rss() ?>

<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?> | <?php edit_comment_link('('.__('edit', 'kubrick').')',' ','') ?>
</div>

</div>
<div class="cleared"></div>


<?php
}

ساخته می شه شما باید تابع


<?php comment_author_link(); ?>

رو ازش حذف کنبید و بجاش این کدها را بگذارید



<?php $user = $comment -> user_id;
if($user > 0) :?>
<a href="<?php bloginfo('url');?>/?author=<?php echo $user;?>"><?php comment_author();?></a>
<?php else : ?>
<?php comment_author_link(); ?>
<?php endif;?>

لینک به ارسال

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

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

خودشون الان من این کد که همیار گرامی قرار دادند

<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>" ><?php the_author(); ?></a>

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

این کد که استاد عزیز قرار داند

global $user_ID;

if($user_ID and $user_ID > 1) {

echo "<a href=\"".get_bloginfo('url')."/?author=".$user_ID."\">پروفایل</a>";

}

وقتی در سایدبار قرار میدم ادرسی که نمایش میده این گونه است A.ir/"".get_bloginfo('url')."/?author=".$user_ID."\"

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

ممنون میشم راهنمایی کنید پیشاپیش سپاس فراوان از راهنمایی شما

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


<?php global $user_id, $user_identity;
if(is_user_logged_in()) {?>
<a href="<?php echo get_author_posts_url( $user_id ); ?>" ><?php echo $user_identity; ?></a>
<?php }?>

اگر منظورتون از سایدبار ابزارک متنه این کدها را در اونجا نباید بگذارید باید در در صفحه ی sidebar.php قالبتون بگذارید

لینک به ارسال

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

لینک به ارسال

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

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

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

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

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

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

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

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

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