behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۲۸ فروردین ۱۳۸۸ - ۱۳:۲۵
سلام به همه ی دوستان...
خیلی دنبال مقاله یا تاپیکی بودم که به مبحث query_post وردپرس بپردازه!داخل کدکس های وردپرس فارسی هم چیزی نبود و فقط تو کدکس های وردپرس انگلیسی بود...!
از اونجایی که تاپیک های زیادی رو گشتم و دیدم بیشتر مشکلات اون ها با یه کویری ساده حل می شه گفتم این تاپیک رو بزنم که اهل فن بیان و تجربیاتشون رو اینجا قرار بدند...
behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۲۸ فروردین ۱۳۸۸ - ۱۳:۲۸
دوستان عزیز من زیاد تجربه و تخصصی ندارم اما هر کدی که فکر کنم مفید باشه رو با کمی توضیح قرار میدم...
لطفه از دوستان اهل فن کسی بیاد و توضیح بده چطوری میشه یه کوئری ساخت...
کویری اول مربوط می شه به نمایش پست های جدید سایت:
<?php query_posts('showposts=9'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
شما با تغییر دادن مقدار showposts می تونید تعداد مطالب رو تغییر دهید در مثال بالا 9 پست نمایش داده می شه...
behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۲۸ فروردین ۱۳۸۸ - ۱۳:۳۱
<?php query_posts('showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
در مثال بالا با اضافه کردن &offset=1 می تونید آخرین مطالب وبلاگتون رو به جز چندتای اول نمایش بدید
یکم توضیح بیشتری میدم:
مثلا تو صفحه اصلی سایتتون 10 پست نمایش میدید و می خواید یه قسمت مطالب گذشته بسازید مسلما نباید اون 10 پست او نمایش داده بشه پس شما باید offset رو برابر 10 قرار بدید
behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۲۸ فروردین ۱۳۸۸ - ۱۳:۳۶
<?php query_posts('cat=10&showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
خوب خوب خوب...
اینم عشق وردپرسی ها...!!!
تو خیلی از تاپیک ها خوندم که دوستان می خواند صفحه ای بسازند که آخرین مطالب یک دسته ی خاصی رو نشون بده...
برای اینکار کد بالا رو استفاده کنید و بجای مقدار cat شناسه دسته ای که می خواید مطالبش نمایش داده بشه رو قرار بدید
behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۲۸ فروردین ۱۳۸۸ - ۱۳:۴۶
حالا یه سئوال از اساتید:
من توی صفحه اول تعدادی کوئری قرار دادم که آخرین پست های دسته های خاص رو نمایش می دند.
حالا می خوام صفحه اول رو طوری طراحی کنم که مثل سایت های معمولی که با وردپرس ساخته می شند صفحه بندی بشه یعنی اگر کوئری ها در صفحه اول 10 پست آخر رو نمایش میدند در صفحه دوم بجز اون 10 پست اول 10 پست قبلی رو نشون بدند...یه چیزی تو مایه های صفحات قبلی و صفحات بعدی وردپرس
ممنون می شم اساتید راهنماییم کنند
navid
آفلاین
ناظم
تعداد نوشتهها: ۲۷۱۸
تشکر شده: ۲۹۹ بار
#
نوشته شده: ۱۵ سال پیش
۲۸ فروردین ۱۳۸۸ - ۱۸:۲۵
اینو امتحان کن :
<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$navidcat = -123;
query_posts('showposts=' . $limit . '&paged=' . $paged . '&cat=' . $navidcat);
?>
Rahgozar
آفلاین
عضو
تعداد نوشتهها: ۱۳۱
تشکر شده: ۱۰ بار
#
نوشته شده: ۱۵ سال پیش
۲۹ فروردین ۱۳۸۸ - ۱۹:۴۵
پس چرا هیچ کدوم از این کوری ها در قالبم کار نمی کنه ؟
غیر از این :
<?php get_archives('postbypost','۱0','custom','<li>','</li>'); ?>
oshgool
آفلاین
عضو
تعداد نوشتهها: ۵۹۳
تشکر شده: ۶۵ بار
#
نوشته شده: ۱۵ سال پیش
۲۹ فروردین ۱۳۸۸ - ۲۰:۰۰
<?php get_archives('postbypost', 21); ?>
behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۱۳ اردیبهشت ۱۳۸۸ - ۱۸:۳۲
تاثیر کوئری روی صفحه قبلی و بعدی:
<?php
if (is_home()) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("cat=10&showposts=1&paged=$paged");
}
?>
<?php while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content('Read the rest of this entry »'); ?>
<?php endwhile;?>
اطلاعات تکمیلی در تاپیک:
http://forum.wp-persian.com/topic/2475?replies=24#post-23295
oshgool
آفلاین
عضو
تعداد نوشتهها: ۵۹۳
تشکر شده: ۶۵ بار
#
نوشته شده: ۱۵ سال پیش
۱۴ اردیبهشت ۱۳۸۸ - ۰۰:۲۰
اقا من یک سوالی دارم. وقتی تو صفحه ای که پست رو نشون میده خب؟ اون کدی که نوشته رو نشون میده وقتی بالا سرش از کویری استفاده کنم مطلب مربوطه رو نشون نمیده و باید پایینتر از اون از کویری ها استفاده کنم.
چرا اینطوریه؟
مثلا تو single.ph این کد رو داریم خب؟
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
.....
<?php endwhile; else: ?>
<?php endif; ?>
وقتی بالاتر از این کد از حلقه ها استفاده کنم که میخوام فلان جای تم نشون بده خب؟
مثلا از حلقه زیر:
<?php query_posts('cat=1&showposts=9'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
single اخرین پسته دسته 1 رو نشون میده و پست مربوطه رو نشون نمیده چرا؟ فقط باید بعد اون<?php endif; ?> به بعد استفاده کنم.
چرا؟
امین / iishtar
آفلاین
عضو
تعداد نوشتهها: ۵۴۲
تشکر شده: ۴۴ بار
#
نوشته شده: ۱۵ سال پیش
۷ مرداد ۱۳۸۸ - ۱۵:۴۸
از اخرین پست تاپیک زمان زیادی گذشته
ولی من یه پست توش میذارم که دوستانی که در اینده میان به این تاپیک با مشکل مواجه نشن
و اما اصل مطلب
بعد از پایان کوری باید با کد پایین کوئری رو بست که بقیه حلقه های زیرش رو تحت تاثیر قرار نده و مشکلی پیش نیاد
این کد :
<?php wp_reset_query(); ?>
----------------
نمونه کوئری که بسته شده و فقط روی حلقه داخل خودش تاثیر میذاره :
<?php query_posts('showposts=4'); ?>
<?php while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a><br/>
<?php the_excerpt(); ?>
<a href="<?php the_permalink() ?>"><b>متن کامل ...</b></a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
Morteza
آفلاین
ناظم
تعداد نوشتهها: ۳۴۰۲
تشکر شده: ۳۱۲۸ بار
#
نوشته شده: ۱۵ سال پیش
۱۲ مرداد ۱۳۸۸ - ۱۴:۵۶
اینو میگن کاربری خوب ~O)
موفق باشی :-)
سزار
آفلاین
عضو
تعداد نوشتهها: ۶۷۸
تشکر شده: ۱۱۸ بار
#
نوشته شده: ۱۵ سال پیش
۱۲ مرداد ۱۳۸۸ - ۱۵:۱۳
امین / iishtar
آفلاین
عضو
تعداد نوشتهها: ۵۴۲
تشکر شده: ۴۴ بار
#
نوشته شده: ۱۵ سال پیش
۱۲ مرداد ۱۳۸۸ - ۱۵:۲۳
خواهش میکنم :-)
راستی سزار جان گفتی داری روی قالب جدید واسه پرتالت کار میکنی
اگه به نظرت این میتونه کمکت کنه بگو که واست ایمیل کنم قالبشو..
سزار
آفلاین
عضو
تعداد نوشتهها: ۶۷۸
تشکر شده: ۱۱۸ بار
#
نوشته شده: ۱۵ سال پیش
۱۲ مرداد ۱۳۸۸ - ۱۷:۴۷
آره خوبه .
اگه قالب الان من رو نگاه کن اون پایین نوشته 316 کوئری لود شده . میخوام یکم کمش کنم این اموزشی هم که شما دادین خیلی به دردم میخوره .
قالب رو هم بفرست ببینیم چه کاره تمیزی میتونیم بدیم بیرون.
شاد باشید. @},- ~O)
-------------------------------------------------
پ.ن : امین جون تشکر برای ارسال فایل ها / دیگه پائین پست نمیدم که اسپم باشه .
امین / iishtar
آفلاین
عضو
تعداد نوشتهها: ۵۴۲
تشکر شده: ۴۴ بار
#
نوشته شده: ۱۵ سال پیش
۱۲ مرداد ۱۳۸۸ - ۱۷:۴۹
قالب رو همراه یه بکاپ از دیتابیس + اسم افزونه هایی که استفاده کردم رو حداکثر تا نیم ساعت دیگه ایمیل میکنم که بتونی ازش استفاده کنی ...
behrooz0o
آفلاین
عضو
تعداد نوشتهها: ۳۴۰
تشکر شده: ۵۳ بار
#
نوشته شده: ۱۵ سال پیش
۱۹ مرداد ۱۳۸۸ - ۰۹:۰۹
این کد رو توی تاپیک چگونگی نمایش پست ها در یک فایل Single جدا ! پیدا کردم گفتم شاید بکار دوستان دیگه هم بیاد
TnTDownloaD گفت:
خب دوست عزیز یه کم کار می بره!
اول باید فایل single مورد نظر رو بسازید و اون رو با این نام ذخیره کنید : single-categoryID.php
که به جای categoryID باید آی دی اون دسته ای که می خواید پست هاش به اون صورت نشون داده بشه رو می نویسید.
بعد میاید یه فایل می سازید به نام single-default.php و محتویات فایل single.php اصلی رو درون اون کپی می کنید و ذخیره می کنید.
بعد میاید و فایل single اصلی رو باز می کنید و همه کد هاش رو پاک می کنید و به جاش این کد رو می زارید :
<?php
$post = $wp_query->post;
if ( in_category('9') ) {
include(TEMPLATEPATH . '/single-9.php');
} else {
include(TEMPLATEPATH . '/single-default.php');
}
?>
خب فکر کنم کامل بود...آها اگه چند تا دسته خواستید مختلف باشه فایل هاش رو می سازید و کد رو به صورت زیر استفاده می کنید:
<?php
$post = $wp_query->post;
if ( in_category('9') ) {
include(TEMPLATEPATH . '/single-9.php');
elseif ( in_category('12') ) {
include(TEMPLATEPATH . '/single-12.php');
elseif ( in_category('42') ) {
include(TEMPLATEPATH . '/single-42.php');
} else {
include(TEMPLATEPATH . '/single-default.php');
}
?>
در آخر هم ~O)
noleek
آفلاین
عضو
تعداد نوشتهها: ۳۳
تشکر شده: ۷ بار
#
نوشته شده: ۱۴ سال پیش
۲۱ مرداد ۱۳۸۹ - ۱۴:۰۷
آقا این کدی که شما گفتید :
<?php query_posts('cat=10&showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
من در پوسته اصلی قرار دادم که یعنی در صفحه اول آخرین مطالب چندتا از دسته ها را نمایش بدم ولی اصلاً چیزی نمایش داده نمی شود .
noleek
آفلاین
عضو
تعداد نوشتهها: ۳۳
تشکر شده: ۷ بار
#
نوشته شده: ۱۴ سال پیش
۲۲ مرداد ۱۳۸۹ - ۱۲:۴۳
آقا یکی نیست جواب من و بده ، کوئری اصلاً تو سایت من جواب نمی ده هر کدوم از دستورات که بوده در هرجایی از قالب که کپی می کنم چیزی نمایش داده نمیشه!
باید چکار کنم!
گناهکار
آفلاین
کلیددار
تعداد نوشتهها: ۳۵۳۵
تشکر شده: ۲۵۴۵ بار
#
نوشته شده: ۱۴ سال پیش
۲۲ مرداد ۱۳۸۹ - ۱۴:۱۹
اون cat=10 رو با توجه به شمارهی دستهی دلخواهتون باید تغییر بدین.
noleek
آفلاین
عضو
تعداد نوشتهها: ۳۳
تشکر شده: ۷ بار
#
نوشته شده: ۱۴ سال پیش
۲۲ مرداد ۱۳۸۹ - ۱۹:۳۵
گناهکار عزیز می دونم تغییر هم دادم ولی نمایش داده نمی شه ، آیدی دسته ها هم همون را گذاشتم که وقتی روی آن کلیک می کنی در آدرس آن یک شماره هست . دیگه نمی دونم باید چکار کنم یعنی این کند پسوند یا پیشوند دیگه ای نداره که من نگذاشته باشم من فقط همین را می گذارم :
<?php query_posts('cat=3&showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
گناهکار
آفلاین
کلیددار
تعداد نوشتهها: ۳۵۳۵
تشکر شده: ۲۵۴۵ بار
#
نوشته شده: ۱۴ سال پیش
۲۲ مرداد ۱۳۸۹ - ۲۲:۴۵
خب این دستورات که چیزی رو نشون نمیدن!
باید دستورات مربوط به حلقه رو توی اون استفاده کنین برای مثال:
<?php query_posts('cat=3&showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<br />
<?php the_content(); ?>
<?php endwhile; ?>
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
noleek
noleek
آفلاین
عضو
تعداد نوشتهها: ۳۳
تشکر شده: ۷ بار
#
نوشته شده: ۱۴ سال پیش
۲۳ مرداد ۱۳۸۹ - ۱۰:۰۴
آقا من این کار رو کردم کد نمایش title هم گذاشتم ولی چیزی نمایش داده نشد ،البته شماره صفحات را دوبار تکرار کرده بود چون من از افزونه pagenavi استفاده می کنم اونو بهم ریخت ، راستی این کد جای مشخصی داره چون من اونو در قسمت پایین سایت بعد از حلقه خود وردپرس قرار دادم!
بعد من در مورد این کوئری که اشتباه نکردم من می خوام از اون برای نمایش لینک های آخر یک دسته خاص استفاده کنم.
noleek
آفلاین
عضو
تعداد نوشتهها: ۳۳
تشکر شده: ۷ بار
#
نوشته شده: ۱۴ سال پیش
۲۵ مرداد ۱۳۸۹ - ۱۸:۰۸
کسی نیست کمک کنه ،من کد را می گذارم ولی چیزی نمایش داده نمی شه باید چکار کنم.!
سعید جعفری
آفلاین
عضو
تعداد نوشتهها: ۸۸
تشکر شده: ۸ بار
#
نوشته شده: ۱۴ سال پیش
۳۰ مرداد ۱۳۸۹ - ۲۲:۲۸
من یک سایت راه اندازی کردم و می خوام یک مطلب که در مورد خود سایت هست فقط در صفحه اصلی نمایش داده بشه و دیگه هیچ مطلبی رو تو صفحه اصلی نشون نده و از طریق یک ینک وارد مطالب سایت بشه
بنده کلا در مورد نحوه کار با کویری و قرادانش در کجای وب هیچی نمیدونم
ممنون می شم در این مورد راهنماییم کنید
noleek
آفلاین
عضو
تعداد نوشتهها: ۳۳
تشکر شده: ۷ بار
#
نوشته شده: ۱۴ سال پیش
۲۴ شهریور ۱۳۸۹ - ۰۹:۳۱
اینجا دیگه فکر می کنم رسماً تعطیل شده ، چون من 1 ماه بیش سوال پرسیدم و کسی جواب نداده! دیگه خودمم سوالم رو یادم رفت واقعاً از عزیزان زحمت کش این فرم تشکر می کنم که همت به رفع مشکل ما نهادید!؟!
vafa
آفلاین
عضو
تعداد نوشتهها: ۱۲۳
تشکر شده: ۳۴ بار
#
نوشته شده: ۱۴ سال پیش
۶ مهر ۱۳۸۹ - ۲۱:۱۵
یه شکل به درد خور دیگشم هست که exclude میکنه
اینطوری:
query_posts(array('category__not_in' => array(20,21,22)));
در گزارش دسته های 20 و 21 و 22 نمایش داده نخواهند شد.
AnimCentral
آفلاین
عضو
تعداد نوشتهها: ۳۷
تشکر شده: ۳۳ بار
#
نوشته شده: ۱۴ سال پیش
۱۴ مهر ۱۳۸۹ - ۲۲:۰۸
من این تاپیک رو ندیده بودم
میتونید تو اینجا به منم کمک کنید؟
ساختن پست در هنگام دیدن پست دیگر
tahavolnews
آفلاین
عضو
تعداد نوشتهها: ۱۰
تشکر شده: ۱ بار
#
نوشته شده: ۱۳ سال پیش
۲۱ شهریور ۱۳۹۰ - ۱۷:۴۰
behrooz0o گفت:
<?php query_posts('showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
در مثال بالا با اضافه کردن &offset=1 می تونید آخرین مطالب وبلاگتون رو به جز چندتای اول نمایش بدید
یکم توضیح بیشتری میدم:
مثلا تو صفحه اصلی سایتتون 10 پست نمایش میدید و می خواید یه قسمت مطالب گذشته بسازید مسلما نباید اون 10 پست او نمایش داده بشه پس شما باید offset رو برابر 10 قرار بدید
م
behrooz0o گفت:
<?php query_posts('showposts=9&offset=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<!--some code here-->
<?php endwhile; ?>
در مثال بالا با اضافه کردن &offset=1 می تونید آخرین مطالب وبلاگتون رو به جز چندتای اول نمایش بدید
یکم توضیح بیشتری میدم:
مثلا تو صفحه اصلی سایتتون 10 پست نمایش میدید و می خواید یه قسمت مطالب گذشته بسازید مسلما نباید اون 10 پست او نمایش داده بشه پس شما باید offset رو برابر 10 قرار بدید
سلام
میشه یه کم توضیح بیشتر بدین ؟ این کد رو باید کجا گذاشت ؟!؟؟!؟!؟!؟!
چطوری کار میکنه ؟ چطوری میشه گفت که چه پستی رو تو وسط صفحه نشون بده چی رو نشون نده ؟
ممنون
gonabadnoor
آفلاین
عضو
تعداد نوشتهها: ۷
#
نوشته شده: ۱۲ سال پیش
۲۴ فروردین ۱۳۹۱ - ۱۶:۵۸
سلام من می خوام با قرار دادن یک تیک مطالب ویژه من تو صفحه اصلی قرار بگیره باید چی کار کنم؟
و از طرفی می خوام توی منوی سایت هم مطالبی منتشر کنم که در ستون صفحه اصلی نیاد؟
parsian1361
آفلاین
عضو
تعداد نوشتهها: ۱۲۲
تشکر شده: ۴۵ بار
#
نوشته شده: ۱۱ سال پیش
۱۲ اردیبهشت ۱۳۹۲ - ۱۲:۴۵
در این مطلب من 10 نمونه از کوئری های پرکاربرد رو توضیح دادم امیدوارم بدردتون بخوره
http://dty.ir/10-%d9%81%db%8c%d9%84%d8%aa%d8%b1-%d9%be%d8%b3%d8%aa-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%db%8c-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3-%db%8c%d8%a7-%d9%87%d9%85%d8%a7%d9%86-query_posts.html
ایران وردپرس
آفلاین
عضو
تعداد نوشتهها: ۱۷۲۹
تشکر شده: ۹۵۲ بار
#
نوشته شده: ۱۱ سال پیش
۱۳ اردیبهشت ۱۳۹۲ - ۱۳:۰۶
parsian1361 گفت:
در این مطلب من 10 نمونه از کوئری های پرکاربرد رو توضیح دادم امیدوارم بدردتون بخوره
http://dty.ir/10-%d9%81%db%8c%d9%84%d8%aa%d8%b1-%d9%be%d8%b3%d8%aa-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%d8%af%db%8c-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3-%db%8c%d8%a7-%d9%87%d9%85%d8%a7%d9%86-query_posts.html
1. این تاپیک شما بوی تبلیغات میده !!
2. به زمان تاپیک هم نگاه کنید و تاپیک های قدیمی رو آپدیت نکنید .