رفتن به مطلب

نمایش یک کد در صورت وجود داشتن حداقل یک نظر


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

سلام

من از commennts.php برای نظرات سایتم استفاده می کنم. حالا می خواستم خارج از این فایل (مثلا داخل single.php) در صورت وجود داشتن حداقل یک نظر (یعنی اگر نظری وجود داشت) یک کد html را نشان دهد.

لینک به ارسال

من صفحه این کد را داخل وردپرس باز کردم و کد زیر که ی نمونه بود را داخل فایل single.php قرار دادم ولی هیچ چیزی اجرا نشد


<?php
$num_comments = get_comments_number(); // get_comments_number returns only a numeric value
if ( comments_open() ) {
if ( $num_comments == 0 ) {
$comments = __('No Comments');
} elseif ( $num_comments > 1 ) {
$comments = $num_comments . __(' Comments');
} else {
$comments = __('1 Comment');
}
$write_comments = '<a href="' . get_comments_link() .'">'. $comments.'</a>';
} else {
$write_comments = __('Comments are off for this post.');
}

?>

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

خب در همون single.php مثلاً قرار بدید:


<?php if (get_comments_number() >= 1) { ?>
<?php echo "have comment"; ?>
<?php } else { ?>
<?php echo "NO comment"; ?>
<?php } ?>

لینک به ارسال

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


<h3><i class="icon-comments"></i>دیدگاه کاربران</h3>

الان اینجوری جایگزین کردم ولی اخطار میده


<?php if (get_comments_number() >= 1) { ?>
<?php echo "<h3><i class="icon-comments"></i>دیدگاه کاربران</h3>"; ?>
<?php } ?>

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

این کد خودتونه اما آخراشو خودتون درست کنید - من نرسیدم


<?php $num_comments = get_comments_number(); // get_comments_number returns only a numeric value?>
<?php if ( comments_open() ) { ?>
<?php if ( $num_comments == 0 ) {
$comments = '0 comment';
} elseif ( $num_comments > 1 ) {
$comments = "over 1 comment";
} else {
$comments = '1 comment';
} ?>
<?php } ?> <?php echo $comments; ?>

برای زمانی که نظری نیست چیزی چاپ نشه هم شرط == 0 رو کلا حذف کنید - منطقش به هم نمیریزه

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

خیلی ممنون عالی بود

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


<?php $num_comments = get_comments_number(); // get_comments_number returns only a numeric value?>
<?php if ( comments_open() ) { ?>
<?php if ( $num_comments == 0 ) {
$comments = '';
} elseif ( $num_comments > 1 ) {
$comments = '<h3><i class="icon-comments"></i>دیدگاه کاربران</h3>';
} else {
$comments = '<h3><i class="icon-comments"></i>دیدگاه کاربران</h3>';
} ?>
<?php } ?> <?php echo $comments; ?>

لینک به ارسال

<?php if ( comments_open() ) { ?>
<?php if ( get_comments_number() >= 1 ) {
$comments = '<h3><i class="icon-comments"></i>دیدگاه کاربران</h3>';
} ?>
<?php } ?> <?php echo $comments; ?>

لینک به ارسال

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

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

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

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

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

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

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

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

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