• اطلاعیه ها

    • Saeed Fard

      سیاره وردپرس ایران   15/10/95

      سایت‌های زیادی در ایران و سرتاسر وب در زمینه گسترش وردپرس تلاش دارند و نوشته‌های آموزشی منتشر می‌کنند. اما ضرورت یک منبع خوب و ارزشمند برای جمع‌آوری بهترین‌های وب ایران و دنیا باعث ایجاد سیاره وردپرس شد تا دنبال کنندگان این موضوع به صورت یکجا و آسان بتوانند به این نوشته‌ها دسترسی داشته باشند.     در سیاره وردپرس این بستر فراهم شده است که آدرس وب‌سایت‌های مربوطه ثبت و برای این سرویس ارسال شود، آخرین نوشته‌های مفید وب‌سایت‌ها در سیاره وردپرس و نیز در بخش اخبار وردپرس پیشخوان سایت‌های وردپرسی از طریق افزونه‌ی Parsi Date نمایش داده می‌شود. همینطور کاربران از طریق عضویت در خبرنامه ایمیلی سیاره وردپرس می‌توانند به صورت دوره‌ای بهترین و جدیدترین نوشته‌های وردپرسی را که توسط اعضای تحریریه و همکاران سیاره وردپرس بررسی و تایید می‌شود را در ایمیل خود دریافت کنند.   امکانات سیاره وردپرس امکان ثبت آدرس سایت‌هایی که نوشته‌های مفید در زمینه وردپرس دارند. نمایش نوشته‌های وردپرس سایت‌ها در سیاره وردپرس نمایش نوشته‌های وردپرس در پیشخوان سایت‌های وردپرس فارسی توسط ویجت اخبار پلاگین Parsi Date و ... امکان ثبت ایمیل کاربران علاقه‌مند جهت دریافت مطالب محبوب و ویژه در خبرنامه دوره‌ای سیاره توسط اعضای تحریریه و ... جهت ثبت سایت وردپرسی یا ایمیل خود به سایت سیاره وردپرس مراجعه کنید   تاپیک پیشنهادات و همکاری در سیاره وردپرس : http://wpu.ir/qlhy5  
eepersian

مشکل با نمایش نظرات خارج از حلقه loop

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

با عرض سلام خدمت دوستان

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

من از کد زیر در Comments.php استفاده کردم :

<?php // Dont Access Directly To Page ?>

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

<?php die('شما نمی توانید این صفحه را به صورت مستقیم مشاهده کنید .'); ?>

<?php endif; ?>

<?php // Check If password Required !?>

<?php if(!empty($post->post_password)) : ?>

<?php if($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) : ?>

<?php endif; ?>

<?php endif; ?>

<?php

if($comments) : ?>

<?php //comments_number('اولین نفری باشید که دیدگاه خود را می نویسد', 'تاکنون % دیدگاه برای این نوشته ثبت شده است . نفر بعدی شما باشید.', 'تاکنون % دیدگاه برای این نوشته ثبت شده است . نفر بعدی شما باشید.'); ?>

<?php foreach($comments as $comment) : ?>

<div class="row-fluid row-merge border-bottom border-top layout-timeline">

<div class="span1">

<div class="innerAll">

<div class="row-fluid">

<div class="span8">

<ul class="nav nav-pills nav-stacked nav-timeline">

</ul>

</div>

</div>

</div>

</div>

<div class="span11">

<div class="innerAll">

<ul class="timeline">

<li class="active">

<div class="separator bottom">

<span class="type glyphicons suitcase"><span class="time"></span></span>

</div>

<div class="widget widget-heading-simple widget-body-white margin-none">

<div class="widget-body">

<div class="media">

<div class="media-object pull-left thumb"><?php echo get_avatar($author_email,54); ?></div>

<div class="media-body">

<a class="author">

<?php comment_author($comment_ID); ?>

</a>

<br>

<span class="muted">

<?php comment_date('d M Y'); ?> - <?php comment_time(); ?>

<?php if ($comment->comment_approved == '0') : ?>

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

<?php endif; ?>

</span>

</div>

</div>

<div class="alert alert-gray">

<p class="glyphicons circle_info margin-none"><?php comment_text(); ?></p>

</div>

<a class="glyphicons single pencil"></a>

</div>

</div>

</li>

</ul>

</div>

</div>

</div>

<?php endforeach; ?>

<?php else : ?>

<p>No comments yet</p>

<?php endif; ?>

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

<?php if(get_option('comment_registration') && !$user_ID) : ?>

<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>">logged in</a> to post a comment.</p><?php else : ?>

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

<?php if($user_ID) : ?>

<p>Logged in as <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="Log out of this account">Log out »</a></p>

<?php else : ?>

<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />

<label for="author"><small>Name <?php if($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />

<label for="email"><small>Mail (will not be published) <?php if($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />

<label for="url"><small>Website</small></label></p>

<?php endif; ?>

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

<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />

<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p>

<?php do_action('comment_form', $post->ID); ?>

</form>

<?php endif; ?>

<?php else : ?>

<p>The comments are closed.</p>

<?php endif; ?>

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

بعضی اوقات نظرات تصادفی رو میاره و بعضی اوقات همه نظرات رو

من می خوام هر کدی میدین ، مکان نوشتنش قبل از دستور if باشه


if($comments) : ?>

با تشکر

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


لینک به پست

خوب اینکار اشتباه هست

مگر اینکه شما آی دی پست جاری رو بگیرید و بعد براساس اون دیدگاه ها رو لود کنید که کلا کار عجیب میشه!

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


لینک به پست

خوب اینکار اشتباه هست

مگر اینکه شما آی دی پست جاری رو بگیرید و بعد براساس اون دیدگاه ها رو لود کنید که کلا کار عجیب میشه!

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

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


لینک به پست

همونطور که گفتند صفحه comments.php و comment_template در خارج از حلقه درست نیستند برای بیرون حلقه باید از کوئری استفاده کنید مثل


<?php
// WP_Comment_Query arguments
$args = array (
'post_id' => $post_id,
'number' => '-1',
'orderby' => 'comment_ID',
);
$comment_query = new WP_Comment_Query;
$comments = $comment_query->query( $args );
if ( $comments ) {
foreach ( $comments as $comment ) {

echo '<li id="comment'.$comment->comment_ID.'">';
echo '<cit>'.$comment->comment_author . ' : </cit>';
echo '<p class="date">' . $comment->comment_date . ' '. $comment->comment_time.'</p>';
echo '<p class="commentsContent">' . $comment->comment_content . '</p>';
echo '</li>';
}
}
?>

برای شخصی سازی و آشنایی با پارامترهاش بخونید

http://codex.wordpress.org/Class_Reference/WP_Comment_Query

برای ساخت کوئری با ژنراتور وردپرس برید به

http://generatewp.com/wp/wp_comment_query/

اما اینکه طراحی قالبتون نگذاره بخش نظرات وارد حلقه بشه خیلی مورد عجیبیه و قطعا قالب مشکل طراحی داره و الا در هر شکلی می شه بخش نظرات را در حلقه گنجاند

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


لینک به پست

با تشکر از شما دوستان خوب

مشکل حل شد

چون کد نمایش دیدگاه ها در صفحه single.php قرار داره می تونم به ID پست مرتبط دسترسی داشته باشم

مشکل این بود که من قبل از نمایش دیدگاه ها نوشته های مرتبط با پست و سپس نوشته های تصافی رو نشون می دادم و می بایست بعد از کوئری پست های تصادفی ، با تایع WP_RESET_QUERY کوئری رو ریسیت کنم

این کار رو انجام دادم و درست شد


<?php wp_reset_query(); ?>

ممنون از دوستانی که پیگیر بودن

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


لینک به پست

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

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

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

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


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

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

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


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