رفتن به مطلب

نمایش نقش نظر دهنده / مهمان - کاربر


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

سلام

میخواستم قسمت نظرات من طوری بشه که وقتی شخصی نظر میده کنار اسمش نقششو بنویسه

مثلا الان اینطوریه.

----------------------

امین :

محتوای نظر

------------------------------

میخوام اینطوری بشه:

---------------------------------

امین (مشترک) :

محتوای نظر

------------------------------------

ممنون

لینک به ارسال

سلام

فک کنم اینه کدش آره؟!‌


$user_id= get_comment(get_comment_ID())->user_id;
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role )
echo $role;
}

بعد اینو من باید کجا قرار بدم دقیقا؟!

این بخش comment.php منه


<?php // Do not delete these lines
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die (__('Please do not load this page directly. Thanks!','dnld'));
if (!empty($post->post_password)) { // Si hay alguna password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie ?>
<p><?php _e('This post is password protected. Enter the password to view comments.','dnld'); ?>.</p>
<?php return;
}
}
/* This variable is for alternating comment background */
?>
<div class="comment">
<!-- You can start editing here. -->
<?php if ($comments) : ?>
<div class="commenthead"><b> <strong><span style="color: #003300;text-shadow: 0px 0px 10px #00FF33;">نظرات دیگران در مورد این مطلب. نظر شما چیست!؟</span></strong></b><br></div>
<?php foreach ($comments as $comment): ?>
<div class="comment-content">

<b><?php comment_author_link() ?></cite> <?php _e('','dnld'); ?>:</b><br>
<div id="content">
<?php comment_text() ?>


</div></div>

<?php endforeach; /* end for each comment */ ?>
<?php endif; ?>
<br>
<div class="commenthead"><b><span style="color: #003300;text-shadow: 0px 0px 10px #00FF33;"><strong>افزودن نظر:</strong></span></b></div>
<div class="add-comment">
<?php if ('open' == $post->comment_status) : ?>
<?php if (get_option('comment_registration') && !$user_ID): ?>
<p><?php _e('You must be','dnld'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>"><?php _e('logged in','dnld'); ?></a> <?php _e('to post a comment','dnld'); ?></p>
<?php else: ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post">
<?php if ($user_ID): ?>

<small><?php _e('Logged in as','dnld'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. (<a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out','dnld'); ?>"><?php _e('Log out','dnld'); ?></a>)</small>
<?php else: ?>
<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" class="c-input" />
<label for="author"><?php _e('Name','dnld'); ?> <?php if ($req) _e('(required)','dnld'); ?></label></p>
<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" class="c-input" />
<label for="email"><?php _e('E-Mail (will not be published)','dnld'); ?> <?php if ($req) _e('(required)','dnld'); ?></label></p>

<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" class="c-input" />
<label for="url"><?php _e('Website','dnld'); ?></label></p>

<?php endif; ?>

<textarea name="comment" id="text" tabindex="4"></textarea>
<br><br>
<input class="comment_button" name="submit" type="submit" id="submit" tabindex="5" value="<?php _e('Submit!','dnld'); ?>" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
<?php do_action('comment_form', $post->ID); ?>
</form>
</div>
<?php endif; // If registration required and not logged in ?>
<?php endif; // if you delete this the sky will fall on your head ?>
</div></div>

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

سلام

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

الان نقش کاربرا رو بصورت انگلیسی مینویسه مثلا adminstrator . اگر بخوام این نقشا فارسی بشه باید چیکار کنم؟!

و اینکه توی این کد


$user_id= get_comment(get_comment_ID())->user_id;
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role )
echo $role;
}

باید کجاش پرانتز اضافه کنم یا رنگ متنشو تغییر بدم؟!

بازم ممنون

لینک به ارسال

تست کنید:

$user_id= get_comment(get_comment_ID())->user_id;
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role ){
switch ($role){
case 'administrator':
$role = 'مدیر';
break;
case 'editor':
$role = 'ویرایشگر';
break;
case 'author':
$role = 'نویسنده';
break;
case 'contributor':
$role = 'مشارکت‌کننده';
break;
case 'subscriber':
$role = 'مشترک';
break;
}
echo $role;
}
}else{
echo 'مهمان';
}

لینک به ارسال
  • 8 ماه بعد...

سلام :)

من از این کد استفاده میکنم ولی تقش همه ی کاربران رو "مدیر" نشون میده! :mellow:

کد رو این جا به کار بردم:


<!--------------------- content ---------------------->

<div class="main_content">
<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
<?php if(function_exists('wp_print')) { print_link(); } ?>
<div class="content">
<div class="title_content"><a href="<?php the_permalink() ?>" target="_blank">
<?php the_title(); ?>
</a></div>
<div class="body_content">
<?php the_post_thumbnail('thumbnail');?>
<?php the_content(); ?>
<div class="content_detail">
<table width="0" cellspacing="0" cellpadding="0">
<tr>
<td width="0">پست شده توسط
<?php the_author_posts_link(); ?>
(<?php $user_id= get_comment(get_comment_ID())->user_id;
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role ){
switch ($role){
case 'administrator':
$role = 'مدیر';
break;
case 'editor':
$role = 'ویرایشگر';
break;
case 'author':
$role = 'نویسنده';
break;
case 'contributor':
$role = 'مشارکت‌کننده';
break;
case 'subscriber':
$role = 'مشترک';
break;
}
echo $role;
}
}else{
echo 'مهمان';
}?>)
</td>

<td width="0">در تاریخ <?php echo jdate ('l, j F , Y') ; ?> .</td>
<td width="0"><?php echo getPostViews(get_the_ID()); ?></td>
</tr>
</table>
<?php the_tags('برچسب خورده با '); ?>
</div>
<br />
<div class="background_comment">
<?php comments_popup_link(); ?>
</div>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
</div>

لینک به ارسال

کد را در حلقه نظرات باید بگذارید نه حلقه مطالب

اگه بخوام تو حلقه ی مطالب بزارم باید چیکار کنم؟! :)

و باید کد رو کجای حلقه نظراتم بزارم؟ میخوام مثل پست اول نمایش داده بشه!

اینم

comment.php:


<?php[/right]



if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))

[right]
die ('Please do not load this page directly. Thanks!');[/right]



if ( post_password_required() ) { ?>

[right]<p class="nocomments">اين نوشته با گذرواژه محافظت شده است گذرواژه را وارد کنيد تا ديدگاه هارا ببينيد.</p>[/right]



<?php

[right]
return;[/right]



}

[right]
?>[/right]



<!-- You can start editing here. -->

[right]
<div id="commentsbox">[/right]



<?php if ( have_comments() ) : ?>

[right] <h3 id="comments">[/right]



<?php comments_number('بدون ديدگاه', 'يک ديدگاه', '% ديدگاه' );?>

[right]
</h3>[/right]



<ol class="commentlist">

[right]
<?php wp_list_comments(); ?>[/right]



</ol>

[right]
<div class="comment-nav">[/right]



<div class="alignleft">

[right]
<?php previous_comments_link() ?>[/right]



</div>

[right]
<div class="alignright">[/right]



<?php next_comments_link() ?>

[right]
</div>[/right]



</div>

[right]
<?php else : // this is displayed if there are no comments so far ?>[/right]



<?php if ( comments_open() ) : ?>

[right]
<!-- If comments are open, but there are no comments. -->[/right]




[right]
<?php else : // comments are closed ?>[/right]



<!-- If comments are closed. -->

[right]
<p class="nocomments">ديدگاه ها غير فعال هستند.</p>[/right]



<?php endif; ?>

[right]
<?php endif; ?>[/right]



<?php if ( comments_open() ) : ?>

[right]
<div id="comment-form">[/right]



<div id="respond">

[right]
<h3>[/right]



<?php comment_form_title( 'يک ديدگاه بگذاريد', 'پاسخ دهید ... %' ); ?>

[right]
</h3>[/right]



<small>

[right]
<?php cancel_comment_reply_link(); ?>[/right]



</small>

[right]
<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>[/right]



<p>شما بايد <a href="<?php echo wp_login_url( get_permalink() ); ?>">وارد شويد</a> تا بتوانيد ديدگاه بگذاريد</p>

[right]
<?php else : ?>[/right]



<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">

[right]
<?php if ( is_user_logged_in() ) : ?>[/right]



<p>وارد شده به عنوان <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"> <?php echo $user_identity; ?></a> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">خارج شدن »</a></p>

[right]
<?php else : ?>[/right]



<label for="author">نام <small>

[right]
<?php if ($req) echo "(ضروری)"; ?>[/right]



</small></label>

[right]
<input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />[/right]



<label for="email">ايميل <small>

[right]
<?php if ($req) echo "(ضروری)"; ?>[/right]



</small></label>

[right]
<input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />[/right]



<?php endif; ?>

[right]
<textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea>[/right]



<br />

[right]
<input name="comment submit" type="submit" id="commentsubmit" value="ارسال دیدگاه" />[/right]



<?php comment_id_fields(); ?>

[right]
<?php do_action('comment_form', $post->ID); ?>[/right]



</form>

[right]
<?php endif; // If registration required and not logged in ?>[/right]



</div>

[right]
</div>[/right]



<?php endif; // if you delete this the sky will fall on your head ?>

[right]
</div>[/right]



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

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

لینک به ارسال

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

پاسخ هارو خوندم ولی آخه comment.php من با اون فرق میکنه! :unsure: نمیدونم باید کد رو کجا بزارم تا این طوری نمایش بده:

نام کاربر (نقش کاربری):

محتوای نظر

و اگه ممکنه کد نقش کاربری برای نویسندگان مطالب رو همین جا مطرح کنید ممنون میشم :D

لینک به ارسال

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

و اگه ممکنه کد نقش کاربری برای نویسندگان مطالب رو همین جا مطرح کنید ممنون میشم :D

تاپیک جدید بزنید :)

لینک به ارسال

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

توی فانکشن پوسته تون هم کد برای کامنت دارید؟ بررسی کنید

لینک به ارسال

بررسی کردم توی فانکشن کدی برای کامنت نیست!

من فایل comments.php رو از قالب های آماده خود وردپرس کپی کردم!

لینک به ارسال

اگر در فانکشن چیزی ندارید پس داره از پیش فرض وردپرس میخونه که نمیتونید تغییری در نمایش داشته باشید

لینک به ارسال

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

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

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

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

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

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

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

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

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