تقریبا مهمترین قسمت جدا نشدنی از وردپرس کوئری ها هستند که باعث می شوند پوسته استاتیک وب سایت وردپرسی، داینامک شود. در مقاله از پشتیبان وردپرس قصد داریم تا ۱۰ فیلتر پست وردپرس را که بسیار کاربردی هستند، معرفی کنیم و طریقه استفاده از آنها را آموزش دهیم.کوئری چیست؟کوئری یا همان پرس جو برای استخراج داده های اطلاعاتی از یک یا چند جدول بانک اطلاعاتی مورد استفاده قرار میگیرند، کوئری ها در وردپرس چندین نوع هستند که به معرفی آنها می پردازیم.
معرفی ۱۰ فیلتر پست وردپرس:
۱- فیلتر کردن برخی دسته ها در صفحه اصلی:
شاید لازم داشته باشید که پست های برخی از دسته های وب سایت شما در صفحه اصلی نمایش داده نشوند. برای این کار از قطعه کد زیر استفاده کنید:
۱
|
<?php if ( is_home() ) { query_posts( ‘cat=-3’ ); } ?>
|
به جای ‘cat=-3’ از آی دی دسته مورد نظر خود استفاده کنید.اگر هم لازم داشتید که چندین دسته را فیلتر کنید، کافیه بین آی دی دسته ها از کاما “,” استفاده کنید:
۱
|
<?php if ( is_home() ) { query_posts( ‘cat=-1,-2,-3’ ); } ?>
|
۲- نمایش نوشته های یک نویسنده خاص در وردپرس:
ممکنه لازم باشد که مطالب یه نویسنده خاص را در صفحه خود نمایش دهیم، برای این امکان باید از کوئری زیر استفاده کنید.با استفاده از آی دی نویسنده:
۱
|
$query = new WP_Query( ‘author=123’ );
|
با استفاده از نام مستعار نویسنده:
۱
|
$query = new WP_Query( ‘author_name=rami’ );
|
۳- نمایش پست های یک دسته خاص در وردپرس:
برای آنکه بتوانید پست های فقط یک یا چند دسته خاص را نمایش دهید از کد زیر استفاده کنید.با استفاده از آی دی:
۱
|
$query = new WP_Query( ‘cat=4’ );
|
با استفاده از نام دسته:
۱
|
$query = new WP_Query( ‘category_name=yourname’ );
|
نکته: برای انتخاب چندین دسته مانند کوئری های قبلی کافیست از کاما “,” بین دسته های خود استفاده کنید.
۴- نمایش پست های یک تگ یا برچسب در وردپرس:
شاید لازم داشته باشید که پست های برخی از تگ ها یا برچسب های وب سایت خود در صفحه نمایش دهید:
۱
|
$query = new WP_Query( ‘tag=cooking’ );
|
۵- نمایش یک نوشته خاص در وردپرس :
اگر بخواهید که فقط یک پست خاص را در صفحه چاپ کنید باید از کوئری زیر استفاده کنید.با استفاده از آی دی مطلب:
۱
|
$query = new WP_Query( ‘p=7’ );
|
با استفاده از نامک مطلب:
۱
|
$query = new WP_Query( ‘name=about-my-life’ );
|
۶- نمایش یک برگه خاص در وردپرس:
اگر بخواهید که فقط یک برگه خاص را در صفحه چاپ نمایید باید از کوئری زیر استفاده کنید.با استفاده از آی دی برگه:
۱
|
$query = new WP_Query( ‘page_id=7’ );
|
با استفاده از نامک برگه:
۱
|
$query = new WP_Query( ‘pagename=contact’ );
|
۷- نمایش تمامی پست ها در وردپرس:
۱
|
$query = new WP_Query( ‘posts_per_page=-1’ );
|
۸- نمایش نوشته یا پست چهارم به بعد:
برای جلوگیری از تکراری شدن مطالب در صفحه اصلی لازم است که از offset استفاده کنیم، این کار باعث می شود تا مطالب از آنجایی که شما بخواهید نمایش داده شوند.
۱
|
$query = new WP_Query( ‘offset=3’ ) );
|
۹- نمایش نوشته های یک تاریخ خاص:
۱
|
$query = new WP_Query( ‘monthnum=12&day=20’ );
|
۱۰- نمایش نوشته های خصوصی و منتشر شده البته قابل مشاهده فقط برای اعضاء خاص:
۱
|
$query = new WP_Query( array( ‘post_status’ => array( ‘publish’, ‘private’ ), ‘perm’ => ‘readable’ ) );
|
تا اینجا ما با ۱۰ نوع از فیلتر پست های کاربردی وردپرس آشنا شدیم، حال بیاید طرز استفاده از این فیلتر ها را یاد بگیریم.برای استفاده از فیلتر پست وردپرس باید از کد زیر الگو گرفت:
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
|
<?php
$my_query = new WP_Query(‘showposts=4&cat=12’);
while ($my_query->have_posts()):
$my_query->the_post();
$do_not_duplicate = $post->ID;
?>
<div>
<?php if( has_post_thumbnail() ) : ?>
<a href=“<?php the_permalink(); ?>“ title=“<?php the_title_attribute(); ?>“> <?php the_post_thumbnail(‘tabslider’); ?></a>
<?php else : ?>
<img src=“<?php bloginfo( ‘stylesheet_directory’ );?>/images/noimage12080.jpg” alt=“Default Icon” title=“Default Icon” style=“height: 50px,width:55px;” />
<?php endif; ?></div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
|
محل استفاده از query دقیقا اول حلقه وردپرس است و حتما باید در پایان حلقه نیز ازwp_reset_query استفاده کنیم .