mhd6621

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

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

با سلام به دوستان عزیز

بنده در حال آماده سازی یک قالب هستم که در بخش دیدگاه گیر کردم

بخش دیدگاه به لحاظ ظاهر درسته ، ولی زمانی که فرم پر میشه پیغام "پس از تایید مدیریت نمایش داده نمیشه"

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

ضمن اینکه گزینه پاسخ هم درست عمل نمیکنه

و بعضا دیدگاه های ثبت شده نمایش داده نمیشه

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

پیشاپیش ممنون

فایل کامنت


<?php // Do not delete these lines
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!');
if (!empty($post->post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
<h2><?php _e('Password Protected'); ?></h2>
<p><?php _e('Enter the password to view comments.'); ?></p>
<?php return;
}
}
/* This variable is for alternating comment background */
$oddcomment = 'alt';
?>
<!-- You can start editing here. -->
<?php if ($comments) : ?>

<ol class="commentlist">
<?php wp_list_comments("type=comment&callback=mytheme_comment"); ?>
</ol>

<?php /* Changes every other comment to a different class */
if ('alt' == $oddcomment) $oddcomment = '';
else $oddcomment = 'alt';
?>

<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are open, but there are no comments. -->
<?php else : // comments are closed ?>
<!-- If comments are closed. -->
<p class="nocomments">امکان ارسال نظر وجود ندارد</p>
<?php endif; ?>
<?php endif; ?>
<?php if ('open' == $post->comment_status) : ?>


<div class="user_ID"><?php cancel_comment_reply_link(); ?></div>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
برای ارسال نظر لطفا ابتدا <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">وارد شوید</a> <?php else : ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( $user_ID ) : ?>
<div class="user_ID">
شما با نام کاربری <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="خارج شدن">خارج می شوید ؟ »</a></div>
<?php else : ?>
<div class="sendcomment">
<h3><i class="fa fa-comment"></i>شما هم دیدگاه خود را ارسال کنید</h3>
<form>
<div class="rightsend">
<input name="author" type="text" placeholder="  نام شما">
<input name="email"type="email" placeholder="  آدرس ایمیل">
<input name="url" type="url" placeholder="  وبسایت">
<input type="submit" value="  ارسال دیدگاه">
</div>
<?php endif; ?>
<textarea name="comment" rows="5" id="textarea" placeholder=" متن پیام شما ..."></textarea>
</div>


<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
<?php comment_id_fields(); ?>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
<?php endif; // if you delete this the sky will fall on your head ?>

فانکشن


<?php
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'reply_text' => $reply_text ,'max_depth' => $args['max_depth']))) ?>
<div class="commentbox">
<div class="rightcommentcl">
<?php echo get_avatar($comment,$size='50' ); ?>
<?php $reply_text = "پاسخ" ?>
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'reply_text' => $reply_text ,'max_depth' => $args['max_depth']))) ?>
</div>
<div class="titlecomment">
<?php printf(__('%s '), get_comment_author_link()) ?>
در تاریخ
<?php comment_date(__('l d F Y ','kubrick')) ?>
گفته است:
</div>
<?php comment_text() ?>
<div class="clear"></div></div>
<?php if ($comment->comment_approved == '0') : ?>
<?php _e(' نظر شما منتظر تاييد مديريت سايت است.'); ?>
<?php endif; ?>
<?php
}
?>

نکته دیگه اینکمه هنگام ارسال کامنت ، دوباره ابتدای صفحه اسکرول میشه.

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط shayan.m
      سلام
      وقت بخیر
      من از افزونه ووکامرس استفاده می کنم و در صفحه محصولات قسمتی هست که دیدگاه ها قرار میگیره و زمانی روی باکس دیدگاه کلیک کنید به صفحه دیدگاه های محصول می روید می خوام به جای اینکه روی باکس دیدگاه یا دکمه دیدگاه کلیک شود که به صفحه دیدگاه برود کاربر زیر همون صفحه محصول تمام دیدگاه نمایش داده شود مشابه افزونه edd؟ از یکی از دوستان سوال کردم گفتند با کد نویسی این امکان وجود دارد؟؟

      الان در تصویر بالا از افزونه ووکامرس استفاده شده است و اگر بخواید مشاهده دیدگاه ها کنید باید روی دکمه دیدگاه کلیک کنید تا به صفحه دیدگاه محصول بروید می خوام به جای این کار دیدگاه های محصول زیر محصول نمایش داده شود.
    • توسط hoseinzr
      دوستان سلام
      من یک قالب html رو دارم به وردپرس تبدیل میکنم و برای اینکه در زیر پستها بتونم از دیدگاه استفاده کنم از کد comments_template() استفاده میکنم ... اما مشکل اینجاست که فقط دیدگاه یکی از نوشته هام رو نمایش میده یعنی توی همه ی پستام یه دیدگاه رو مینویسه و انگار استاتیکه ... امیدوارم منظورم رو رسونده باشم .. ممنون اگه کمکم کنید
    • توسط unid_user
      سلام و درود
      دوستان گرامی برای اینکه بخش کامنت ها یا دیدگا ها برای هر پست در وردپرس رو به صورت دلخواه استایل بدیم چه روشی وجود داره؟
      با تشکر و سپاس

      نمیخوام به حالت پیشفرض زیر باشه:
       

    • توسط yasdata
      یکی از مهم ترین قسمت های یک سایت وردپرس قسمت دیدگاه های اون هست .
      که کاربران و بازدید کننده میتوانند نظر خودشون رو به راحتی قرار بدهند برای شما.
      اما ممکنه اسپمر ها به سایت شما حمله کنند و پیام های اسم ارسال کنند که برای شما ناخوش آمد باشه .
      با استفاده از این آموزش میتوانید به راحتی جلوی اسپمر هارو بگیرید.
      ایجاد محدودیت ارسال کامنت در وردپرس
      فایل functions.php قالب خودتون رو ویرایش کنید و کد زیر را درون آن قرار دهید.
      add_filter( 'preprocess_comment', 'wpb_preprocess_comment' ); function wpb_preprocess_comment($comment) { if ( strlen( $comment['comment_content'] ) > 5000 ) { wp_die('متن نظر شما طولانی است.'); } if ( strlen( $comment['comment_content'] ) < 60 ) { wp_die('نظر شما خیلی کوتاه است! متن بیشتری بنویسید'); } return $comment; } شما میتونید با تغییر اعداد 5000 و 60 محدودیتی که میخواهید رو قرار دهید.
      کارایی این کد به این صورت هست که:
      کامنتی که قراره روی وبسایت شما بذارند حتماً در این بازه کارکتر قرار میگیره و اجازه نمیده تا بیشتر یا کمتر از این محدودیت کامنت گذاشته بشه !
      درصورتی که میخواید جلوی اسپمر هارو بگیرید محدودیت رو تنظیم کنید روی اینکه کامنت ها بیشتر از 500 کارکتر نشه ، همچنین اندازه مناسب برای حداقل میزان کامنت هم مناسبش 40 هست.
       
      البته با افزونه هم میتونید این کار رو انجام دهید.
      با استفاده از افزونه control comment length میتوانید میزان کارکتر دیدگاه هارو محدود کنید.
      صفحه افزونه
      ابتدا افزونه را نصب کنید.
      سپس به بخش تنظیمات > control comment length بروید و تنظیمات افزونه را انجام دهید.
      در این قسمت میتوانید حداقل و حداکثر طول کامنت رو تنظیم کنید.
      که پیشنهاد میکنم حداقل 60 کارکتر و حداکثر 5000 کارکتر قرار دهید.
       
      پیشنهاد تیم یاس دیتا استفاده از روش تغییر فایل functions.php هست.
      چون افزونه های نصب شده باعث سنگین شدن وردپرس میشوند.
    • توسط mahdiar
      سلام
      من می خوام یک فیلد آپلود به کامنت ها اضافه کنم بدون استفاده از افزونه . سرچ کردم ولی مطلب خوبی پیدا نکردم . ممنون میشم راهنمایی بفرمایید .