رفتن به مطلب

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


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

با سلام !

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


<?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
لینک به ارسال

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

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

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

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

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

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

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

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

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