Hoomanhpc2

نیاز به تأیید برای نمایش دیدگاه ها به جز دسته های خاص

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

سلام. من میخوام دیدگاه های ارسال شده در پست های دسته خاص بعد از تأیید نمایش داده شوند و در دسته های خاص دیگر بدون تأیید.

اگر نیاز به توضیح بیشتر داره باید اینطور بگم:

مثلا می خوام نظراتی که در پست های دسته اخبار ارسال می شوند بدون تأیید کردن نمایش داده شوند.

ولی نظراتی که در پست های دسته آموزش ارسال می شوند حتما باید توسط مدیریت تأیید شوند تا نمایش داده شوند.

در تنظیمات گفتگو فقط میشه برای تمامی پست ها تعیین کرد که تأیید بشن یا خیر.

اگر دوستان در این باره راهنمایی کنند ممنون میشم. خودم سعی کردم یه کارهایی بکنم ولی متأسفانه موفق نشدم.

ممنون

0

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


لینک به پست

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

4

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


لینک به پست

اگه یکم راهنمایی کنید که چطور این کار رو کنم ممنون میشم. چطور دو فایل بذارم و چطورر شرط براشون تعیین کنم؟

چون نمی خوام دیدگاه هایی که در موضوع اخبار ارسال میشن در دیدگاه های در انتظار تأیید قرار بگیرند. و مستقیما به صورت تأیید شده ثبت بشن.

و نظراتی که در بخش اموزش ارسال می شوند چون نیاز به پاسخ دارند میخوام که به قسمت در انتظار تأیید قرار بگیرند تا بتونم به راحتی جواب بدم.

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

ممنون

0

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


لینک به پست

شما بخش دیدگاه ها رو الان چطور در پوسته فراخوانی می کنید؟

0

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


لینک به پست

ارسال شده در (ویرایش شده)

این کد رو در فایل single گذاشتم:

<?php comments_template('/comments.php',true); ?>

محتویات فایل comments هم پیوست کردم.

comments.php

ویرایش شده در توسط hoomanhpc2
0

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


لینک به پست

یک فایل دیگه برای دیدگه بسازید و شرط تایید رو ازش بردارید

بعد مثلا میشه :

if(in_category(10)){
comments_template('/comments.php',true);
}else{
comments_template('/comments2.php',true);
}

3

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


لینک به پست

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

0

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


لینک به پست

این شرطی هست که داره میگه بخش دیدگاه ها باز هست:

<?php if ('open' == $post->comment_status) : ?>

1

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


لینک به پست

اگه اشتباه نکنم این شرطی هست که میگه اگه دیدگاه ها باز باشه فرم ارسال دیدگاه نمایش داده بشه.

که من به این نیازی نداره. من میخوام کاری کنم که دیدگاه ها به صورت تأیید شده ارسال بشن. این شرط نمایش هست

0

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


لینک به پست

این شرط می گه اگر حالت دیدگاه open بود (مجاز برای نمایش) حالت true را اجرا کن

این شرط را بر می دارید و همینطور


<?php endif;?>

مرتبط با این شرط

یا شرط را به این صورت تغییر بدید


<?php if ('open' == $post->comment_status or "hold"== $post->comment_status) : ?>

2

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


لینک به پست

ممنون. ولی چیزی تغییر نکرد...

0

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


لینک به پست

این کد را


<?php wp_list_comments("callback=mytheme_comment"); ?>

را با


<?php
$status = wp_get_comment_status( $comment_id );
if ( $status == "approved" or $status == "unapproved") {
wp_list_comments("callback=mytheme_comment");
}
?>

جابجا کنید و تست بگیرید

اگر نشد از فایل فانکشنز

فانکشنز با نام mytheme_comment را بیابید و بگذارید اینجا

3

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


لینک به پست

وقتی جایگزین کردم دیگه هیچ دیدگاهی نمایش داده نشد.

function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<article <?php comment_class(); ?> id="comment-<?php comment_ID() ?>">

<header>
<h4><?php printf(__('%s در'), get_comment_author_link()) ?> <time><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></time></h4>
</header>

<div class="comment-text">
<?php comment_text() ?>
<?php if ($comment->comment_approved == '0') : ?>
<div class="comment-moderated"><?php _e('Your comment is awaiting moderation.') ?></div>
<?php endif; ?>
</div>

</article>

<?php
}

0

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


لینک به پست

بجای unapproved باید می نوشتم hold ولی موضوع اصلی اینه که باز پیامها را برای تایید می فرسته ولی پیامهای در انتظار تایید را هم نمایش می ده

می تونید با استفاده از


<ol>
<?php
$id = $post->ID;
$args = array(
'status' => 'hold',
'post_id' => $id,
'number' => '5',
);
$comments = get_comments($args);
foreach($comments as $comment) :
echo('<li>'.$comment->comment_author . ': <br />' . $comment->comment_content.'</li>');
endforeach;
?>
</ol>

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

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

3

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


لینک به پست

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

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

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

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


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

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

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


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