رفتن به مطلب

فراخوانی کد در قسمت دیدگاه ها


davo0d

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

با سلام

اگه بخوام کد :

<?php echo get_the_author_meta( 'juiz_user', $user_id ); ?>

را جلوی اسم ارسال کننده نظر فراخوانی کنم دقیقا باید این کد رو کجای comments.php قرار بدم ؟

نکته : بوسیله ی کد فوق متنی که من به عنوان امتیاز کاربران در نظر گرفته ام نمایش داده می شه

comments.php

<?php if ( post_password_required() ) : ?>
<p class="nopassword"><?php _e( 'این نوشته محافظت شده است . برای دیدن دیدگاه ها رمز عبور را وارد کنید.', 'themify' ); ?></p>
<?php
/* Stop the rest of comments.php from being processed,
* but don't kill the script entirely -- we still have
* to fully load the template.
*/
return;
endif;
?>

<?php
// You can start editing here -- including this comment!
?>

<?php if ( have_comments() || comments_open() ) : ?>
<div id="comments" class="commentwrap">
<?php endif; // end commentwrap ?>

<?php if ( have_comments() ) : ?>
<h4 class="comment-title"><?php comments_number(__('بدون دیدگاه','themify'), __('یک دیدگاه','themify'), __('% دیدگاه','themify') );?></h4>

<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>
<div class="pagenav top clearfix">
<?php paginate_comments_links( array('prev_text' => '«', 'next_text' => '»') );?>
</div>
<!-- /.pagenav -->
<?php endif; // check for comment navigation ?>

<ol class="commentlist">
<?php wp_list_comments('callback=custom_theme_comment'); ?>
</ol>

<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>
<div class="pagenav bottom clearfix">
<?php paginate_comments_links( array('prev_text' => '«', 'next_text' => '»') );?>
</div>
<!-- /.pagenav -->
<?php endif; // check for comment navigation ?>

<?php else : // or, if we don't have comments:

/* If there are no comments and comments are closed,
* let's leave a little note, shall we?
*/
if ( ! comments_open() ) :
?>

<?php endif; // end ! comments_open() ?>

<?php endif; // end have_comments() ?>

<?php
$custom_comment_form = array( 'fields' => apply_filters( 'comment_form_default_fields', array(
'author' => '<p class="comment-form-author">' .
'<input id="author" name="author" type="text" value="' .
esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' class="required" />' .
'<label for="author">' . __( 'نام شما' , 'themify' ) . '</label> ' .
( $req ? '<span class="required">*</span>' : '' ) .
'</p>',
'email' => '<p class="comment-form-email">' .
'<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' class="required email" />' .
'<label for="email">' . __( 'ایمیل شما' , 'themify' ) . '</label> ' .
( $req ? '<span class="required">*</span>' : '' ) .
'</p>',
'url' => '<p class="comment-form-url">' .
'<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"' . $aria_req . ' />' .
'<label for="website">' . __( 'وبسایت شما' , 'themify' ) . '</label> ' .
'</p>') ),
'comment_field' => '<p class="comment-form-comment">' .
'<textarea id="comment" name="comment" cols="45" rows="8" aria-required="true" class="required"></textarea>' .
'</p>',
'logged_in_as' => '<p class="logged-in-as">' . sprintf( __( 'وارد شده با نام <a href="%1$s">%2$s</a>. <a href="%3$s">خروج؟</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
'title_reply' => __( 'فرستادن دیدگاه' , 'themify' ),
'comment_notes_before' => '',
'comment_notes_after' => '',
'cancel_reply_link' => __( 'لغو' , 'themify' ),
'label_submit' => __( 'فرستادن دیدگاه' , 'themify' ),
);
comment_form($custom_comment_form);
?>

<?php if ( have_comments() || comments_open() ) : ?>
</div>
<!-- /.commentwrap -->
<?php endif; // end commentwrap ?>

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

با سلام

اگه بخوام کد :

<?php echo get_the_author_meta( 'juiz_user', $user_id ); ?>

را جلوی اسم ارسال کننده نظر فراخوانی کنم دقیقا باید این کد رو کجای comments.php قرار بدم ؟

نکته : بوسیله ی کد فوق متنی که من به عنوان امتیاز کاربران در نظر گرفته ام نمایش داده می شه

سلام

اگر بخواهید توی منوی بالای هر مطلب نمایش بده این فایل نیاز نیست و باید کد را در فایل index.php و single.php بذارید.

comments.php فرم ارسال نظره و فکر نمیکنم نمایش امتیاز توی این فرم جالب باشه.

به هر حال اگر قصد همچین کاری دارید باید این خطو پیدا کنید و بعد از تگ label بذارید:


'<label for="author">' . __( 'نام شما' , 'themify' ) . '</label> '

لینک به ارسال

دقیقا می خوام روبروی اسم کاربری که نظر می ده قرار بگیره ! ولی اونجایی که شما فرمودین جواب نداد !

در هر صورت ممنون ، منتظر پاسخ دوستان می مونم .

لینک به ارسال

توی لیست نظرات منظورتون هست؟

توی فایل بالا نیست. باید توی فایل فانکشنتون قرار بدید.

سایتتون آنلاین هست؟ میتونید آدرس بدید؟

لینک به ارسال

باز هم تشکر ؛ فقط می خوام کنارش متن "سطح کاربری :" هم قرار بگیره ( دقیقا همون کاری که جلوی ارسال کننده مطالب انجام دادم / ارسال کننده : فلانی - امتیاز کاربری : Administrator )

کدی که گفتم Administrator رو نمایش می ده ولی امتیاز کاربری باید بصورت متن در کنارش قرار بگیره .

http://uplod.ir/j8q8w8tostpy/functions.zip.htm

لینک به ارسال

پوسته شما فارسی شده هست یا اختصاصی طراحی شده چون بخش نمایش نظرات در اینجا هم نبود.

لینک به ارسال

بخش نمایش نظرات رو باید داشته باشید صفحه ای بنام commentlist.php ندارید؟

باید برای کد


<?php $GLOBALS['comment'] = $comment; ?>

جستجو کنید

و بعد از اون هم با توجه به اینکه همه ی نظر دهندگان الزاما کاربر سایت نیستند بهتره از دستور if برای کاربران عضو استفاده بشه و برای زیبایی بیشتر هم می تونید جمله ای را برای حالت else در نظر بگیرید که در صورت عضو نبودن به نوعی مباغ ثبت نام کاربر باشه

در هر حال اول از همه کدی را که گفتم پیدا کنید که در کدام فایلتون قرار داره

لینک به ارسال

سلام کدی که گفتید در انتهای این فایل پوسته هست .

بهتره از دستور if برای کاربران عضو استفاده بشه و برای زیبایی بیشتر هم می تونید جمله ای را برای حالت else در نظر بگیرید که در صورت عضو نبودن به نوعی مباغ ثبت نام کاربر باشه

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

باز هم تشکر :wub:

لینک به ارسال

برای اینکه خودتون یاد بگیرید و بتونید ویرایش کنید.

در خط 549 میتونید کد موردنظرتون رو قرار بدید.

لینک به ارسال

ممنون آقا مرتضی ، من این کد و هرجا امتحان کردم کلمه ی Administrator برای تمام افرادی که نظر ارسال کرده بودن نمایش می داد ، در صورتی که باید فقط کنار اسم من قرار می گرفت و برای دیگران چیزی نمایش نمی داد مگر اینکه من عنوانی رو براشون ( از طریق شناسنامه ) مشخص کنم . لازم بذکر دونستم که این کد مربوط به این درخواست می باشد .

لینک به ارسال

مشکل از کدتون باید باشه.

مگر اینکه کد الحاقی داشته باشه.

این کد رو قرار میدید؟

<?php echo get_the_author_meta( 'juiz_user', $user_id ); ?>

لینک به ارسال

بله همین کد هستش ، در قسمت ارسال کننده و جعبه ی نویسنده همین کد و گذاشتم و همچین مشکلی پیش نیومد .

لینک به ارسال

این کد رو تست کنید:

<?php print_r(get_userdata($post->post_author)->wp_capabilities); ?>

لینک به ارسال

این کد رو تست کنید:

<?php print_r(get_userdata($post->post_author)->wp_capabilities); ?>

تاثیری نداشت آقا مرتضی

لینک به ارسال

معذرت که پشت سر هم ارسال می کنم ولی ویرایش ارسال قبلی غیر فعال شده ( چرا اینقدر زود ؟ ) .

منظورم از اینکه تاثیری نداشت این بود که اصلا هیچ چیز رو نمایش نمی داد .

لینک به ارسال

   	 <?php
$ucap = get_userdata($comment->user_id)->wp_capabilities;
echo key($ucap);
?>

آقا مرتضی ممنون که وقت گذاشتید ، با این کد و البته کمک شما مشکل حل شد :) .

باز هم ممنون .

لینک به ارسال

آقا مرتضی اگه بخوام کد تاریخ عضویت


<?php the_author_meta('user_registered'); ?>

رو فراخوانی کنم چی ؟ چون وقتی خود این کد و مستقیم وارد می کنم مثل قبل باز هم تاریخ عضویت من و برای تمام ارسال کننده های نظر نمایش می ده .

ممنون می شم راهنمایی کنید .

لینک به ارسال

ببینید مشکل این هست که شما دارید طبق اطلاعات کاربری که پست رو ارسال کرده نمایش میدید برای همین برای همه کاربرها یک چیز رو نمایش میده.

باید براساس آی دی کاربر کامنت گزار نمایش بدید که با کد زیر گرفته میشه:

get_userdata($comment->user_id)

لینک به ارسال

آقا مرتضی با توجه به راهنمایی شما از کد :


<?php the_author_meta('user_registered', $comment->user_id); ?>

استفاده کردم که نتیجه نداد ، ولی کلا نقش کاربر از تاریخ عضویت بهتره موضوع رو به حل شده تغییر بدین ممنون . :)

لینک به ارسال

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

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

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

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

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

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

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

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

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