saeedagha

راهنمایی درباره یک کوئری

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

با سلام !

از این کد برای نمایش نوشته ها به صورت تصادفی استفاده می کنم :


<?php
$args = array( 'numberposts' => 5, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><h6><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h6></li>
<?php endforeach; ?>

حالا اگر بخواهیم نوشته هایی رو به صورت تصادفی نمایش بگذاریم که از بین بقیه نوشته به جز 10 نوشته اول استفاده بشه باید چکار کنیم؟

مثلا ما 70 مطلب داریم که 10 تای آخر در صفحه نخست به نمایش در می آید حالا می خواهیم از بین 60 مطلب باقیمانده 5 تای آن ها را به صورت تصادفی نشان دهیم

ممنون میشم اگه رهنمایی بفرمایید

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


لینک به پست

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

اینو ابتدای صفحه تعریف کنید


$current_post = array();

در حلقه پست مطالب اینو قرار دهید


$current_post[] = $post->ID;

و در انتها کوئری:



$args = array(
'posts_per_page' => 5 ,
'orderby' => 'rand' ,
'post__not_in' => $current_post
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
endwhile;

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


لینک به پست

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

اینو ابتدای صفحه تعریف کنید


$current_post = array();

در حلقه پست مطالب اینو قرار دهید


$current_post[] = $post->ID;

و در انتها کوئری:



$args = array(
'posts_per_page' => 5 ,
'orderby' => 'rand' ,
'post__not_in' => $current_post
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
endwhile;

با تشکر از شما !

چنانچه کوئری بعد از نوشته ها گرفته شود نتیجه مورد نظر را می دهد مثلا در فوتر ولی من می خواهم اون کوئری رو رو در مثلا هدر و قبل از نمایش نوشته ها اضافه کنم که در نتیجه به خوبی کار نمی کند

آیا امکان انجام این کار در بالای نوشته ها وجود دارد؟

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


لینک به پست

در هر جایی قرار بدید باید درست کار کنه

توجه کنید که در پایان حلقه، باید کوئری رو ریست کنید

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


لینک به پست

در هر جایی قرار بدید باید درست کار کنه

توجه کنید که در پایان حلقه، باید کوئری رو ریست کنید

این ها محتویات فایل index من هست


<?php get_header(); ?>
<?php $current_post = array();?>
<div id="contentWrap">


<div id="adv">
<!-- Begin Spotlight -->
<div class="side-corner1">
<div class="spotlight1">
<div class="spotlight-title1"><span><img src="<?php bloginfo("template_url"); ?>/images/star-spotlight.png" height="16" width="15"><b>مطالب تصادفی</b></span></div>
<ul id="ticke1r">
<?php

$args = array(
'posts_per_page' => 15 ,
'orderby' => 'rand' ,
'post__not_in' => $current_post
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';?>
<?php endwhile;?>
<?php wp_reset_query();?>
</ul>


</div>
</div>
<!--End Spotlight -->
</div>

<div id="content">
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="article"<?php post_class() ?> id="post-<?php the_ID(); ?>">

<?php $current_post[] = $post->ID; ?>
<div class="entry">
<h2><a href="<?php the_permalink() ?>">
<?php the_title(); ?>
</a></h2>
<div class="meta">
<div class="date">
<?php the_time('d F, Y') ?>
</div>
<div class="author">
<?php the_author_posts_link(); ?>
</div>
<div class="comment">
<?php comments_popup_link('بدون دیدگاه »', 'یک دیدگاه »', '% دیدگاه »'); ?>
</div>
</div>
<p>
<?php the_content_rss('', TRUE, '', 60); ?>
</p>
<div class="button"> <a href="<?php the_permalink() ?>" target="new">ادامه مطلب</a> </div>
</div>
<div class="thumb">
<?php if (has_post_thumbnail()) {
the_post_thumbnail('thumbnail');}
else {
echo '<img src="' . get_bloginfo( 'stylesheet_directory' ) . '/images/no-thumbnails.png' . '" width="200" height="200" alt="thumbnail" />'; }?>
</div>
</div>
<!--/article-->
<?php endwhile; ?>
<?php else : ?>
<div class="no-f">
<h2>متاسفیم چیزی برای نمایش یافت نشد !</h2>
</div>
<?php endif; ?>
</div>
<!-- end content -->
<?php get_sidebar(); ?>
<?php
$args = array( 'numberposts' => 5, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br/>
<?php endforeach; ?>
<div class="navigation clearfix">
<?php
if(function_exists('wp_pagenavi')) {
wp_pagenavi();
} else {
?>
<div class="alignleft">
<?php next_posts_link( __( '<span>«</span> نوشته های قدیمی تر ', 'flexithemes' ) );?>
</div>
<div class="alignright">
<?php previous_posts_link( __( 'نوشته های جدیدتر <span>»</span>', 'flexithemes' ) );?>
</div>
<?php
} ?>
</div>
<!-- .navigation .clearfix -->

</div>
<!-- end contentWrap -->
<?php get_footer(); ?>

میشه اینو تصحیح بفرمایید

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


لینک به پست

برای قبل از کوئری:


<?php
$current_post = array();
if (have_posts()) : while (have_posts()) : the_post();
$current_post[] = $post->ID;
endwhile; endif; rewind_posts(); ?>

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


لینک به پست


$args = array(
'posts_per_page' => 5 ,
'orderby' => 'rand' ,
'post__not_in' => $current_post
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
endwhile;

اینجا اگر بخواهیم هر کدام از عناوین نوشته لینک دار به خود نوشته شود باید چه کار کنیم؟

ویرایش شده در توسط saeedagha

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


لینک به پست


echo '<li><a href="'.the_permalink() . '">' . get_the_title() . '</a></li>';

تست کنید

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


لینک به پست

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

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

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

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


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

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

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


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