کوئری های مربوط به پست ها در وردپرس ( هک و فیلتر کردن پست وردپرس )
بدون شک بهترین سیستم مدیریت محتوای حال حاضر دنیا وردپرس می باشد و به همین دلیل هست که سعی بر درج پست های آموزشی بیشتر در مورد این cms را برای شما کاربران عزیز دارم .
از سری آموزش های مربوط به سیستم مدیریت محتوای وردپرس , امروز قصد دارم آموزش کامل و جامعی در مورد کوئری های مربوط به پست های وردپرسی را در اختیار شما همراهان همیشگی قرار دهم …
با استفاده از آموزش های زیر , شما میتوانید یک تغییر اساسی در پست دهی وردپرسی انجام دهید و از دست پست های کلاسیک وردپرس راحت شوید .
هر کجا که میخواهید و در هر صفجه ای که هستید , یک پست خاص بر اساس نام یا آی دی یا نام نویسنده و … را براحتی نمایش دهید …
مثلا میخواهید همیشه اولین پست سایتتون , یک پست تبلیغاتی باشد , کافیست با استفاده از کوئری های زیر , در هر قسمت که میخواهید نمایش داده شود از آنها استفاده نمایید .
برای این کار باید مثلا پستی با آی دی 34 رو به عنوان پست تبلیغاتی انتخاب کنید و متن تبلیغ را در آن بنویسید و سپس با استفاده از کوئری های زیر , تعریف کنید که پست شماره 34 در بالای تمامی پست ها نمایش داده شود .
و اما آموزش :
میدانیم که پست ها در وردپرس در داخل یک حلقه قرار میگیرند . اما پست هایی که میخواهیم در آنها از کوئری استفاده نماییم , کمی متفاوت هستند .
در حالت عادی از حلقه ی زیر استفاده میکنیم :
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php the_content(); ?> <?php endwhile; ?> <?php endif; ?>
اما برای اینکه از کوئری ها استفاده کنیم باید یکی از کد های زیر را ( بر حسب نیاز ) در اول حلقه و در آخر حلقه کد ریست کردن را وارد نماییم . به مانند زیر :
<!-- محل درج یکی از کوئری های بیان شده در این پست --> <?php if($vm_query->have_posts()) : ?> <?php while($vm_query->have_posts()) : $vm_query->the_post(); ?> <li><a href="<?php the_permalink()?>"><?php the_title() ?></a></li> <?php endwhile; ?> <?php endif ?> <?php wp_reset_query(); ?>
و اما کوئری ها :
1 – نمایش نوشته های یک نویسنده خاص :
– نمایش بر اساس شناسه ( id ) شخص نویسنده :
به جای id_vm باید شناسه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'author=id_vm' ); ?>
– نمایش بر اساس نام شخص نویسنده :
به جای name_vm باید نام مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'author_name=name_vm' ); ?>
– نمایش نوشته های تمامی نویسندگان بجز یک نویسنده ی خاص : ( مثلا نمایش همه بجز نویسنده 8 )
به جای id_vm باید شناسه مورد نظر را وارد نمایید . توجه داشته باشید که علامت – قبل از id_vm قرار دارد .
<?php $vm_query = new WP_Query( 'author=-id_vm' ); ?>
2 — نمایش نوشته های یک دسته خاص :
– نمایش بر اساس شناسه ( id ) دسته :
به جای id_vm باید شناسه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'cat=id_vm' ); ?>
– نمایش بر اساس نام دسته :
به جای name_vm باید نام مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'category_name=name_vm' ); ?>
– نمایش تمامی نوشته ها بجز یک دسته ی خاص : ( مثلا نمایش همه بجز دسته ی شماره 2 )
به جای id_vm باید شناسه مورد نظر را وارد نمایید . توجه داشته باشید که علامت – قبل از id_vm قرار دارد .
<?php $vm_query = new WP_Query( 'cat=-id_vm' ); ?>
3 – نمایش نوشته های یک تگ ( برچسب ) :
– نمایش بر اساس شناسه ( id ) تگ :
به جای id_vm باید شناسه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'tag_id=id_vm' ); ?>
– نمایش بر اساس نام تگ :
به جای name_vm باید نام مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'tag=name_vm' ); ?>
4 – نمایش یک نوشته ( پست ) خاص :
– بر اساس شناسه ( id ) نوشته :
به جای id_vm باید شناسه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'p=id_vm' ); ?>
– بر اساس نام نوشته :
به جای name_vm باید نام مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'name=name_vm' ); ?>
5 – نمایش یک برگه خاص :
– بر اساس شناسه ( id ) برگه :
به جای id_vm باید شناسه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'page_id=id_vm' ); ?>
– بر اساس نام برگه :
به جای name_vm باید نام مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'pagename=name_vm' ); ?>
6 – نمایش تمامی نوشته ها ( پست ها ) :
توجه : کد زیر عینا و بدون هیچ تغییری باید وارد شود .
<?php $vm_query = new WP_Query( 'posts_per_page=-1' ); ?>
7 – نمایش پست هایی از یک شماره پست مشخص به بعد :
توجه : مثلا اگر پنجم به بعد را میخواهید , باید یک شماره پایین تر در کد زیر وارد نمایید , یعنی 4
<?php $vm_query = new WP_Query( 'offset=4' ); ?>
8 – نمایش نوشته های یک تاریخ خاص :
توجه : year به معنی سال , monthnum به معنی چندمین ماه , day به معنی چندمین روز میباشد .
<?php $vm_query = new WP_Query( 'year=2014&monthnum=5&day=12' ); ?>
9 – نمایش نوشته های مربوط به یک کلمه ی سرچ شده در سایت :
به جای word باید کلمه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 's=word' ); ?>
10 – نمایش تمامی برگه ها :
توجه : کد زیر عینا و بدون هیچ تغییری باید وارد شود .
<?php $vm_query = new WP_Query( 'post_type=page' ); ?>
11 – نمایش تمامی پیش نویس ها ( draft )
توجه : کد زیر عینا و بدون هیچ تغییری باید وارد شود .
<?php $vm_query = new WP_Query( 'post_status=draft' ); ?>
12 -نمایش نوشته ها ( پست ها ) ی درون یک برگه خاص :
به جای id_vm باید شناسه مورد نظر را وارد نمایید .
<?php $vm_query = new WP_Query( 'paged=id_vm' ); ?>
نکته بسیار مهم : در تمامی موارد بالا بجز 6 , 7 , 8 , 10 و 11 , میتوانید با درج کارکتر ( , ) از چند شناسه یا چند نام یا چند کلمه استفاده نمایید .
به عنوان مثال به چند کوئری زیر توجه فرمایید :
<?php $vm_query = new WP_Query( 'page_id=5,9,20,150' ); ?> <?php $vm_query = new WP_Query( 'tag=اسکریپت,دانلود,موبایل,طراحی' ); ?> <?php $vm_query = new WP_Query( 'cat=-12,-5,-6,-22,-7' ); ?> <?php $vm_query = new WP_Query( 's=دانلود,رایگان,ترفند' ); ?>
توجه : برای داشتن آرگومان های حرفه ای تر میتوانید به این آدرس مراجعه کنید .
پخش اختصاصی
گرداوری و تنظیم : وحید مجیدی
سلام برادر من میخوام بازدن ارسال پست لینک پست و نام پست رو تو یه تکست ذخیره بشه تو هاست چه کنم ممنون میشم کمک کنید
دوست عزیز باید کدنویسی بشه با php
خیلی ممنونم از شما آقای مجیدی بابت گرد آوردی کوئری پست ها و توضیحات خوب شما
جا داره تشکر ویژه کنم از این مطلب کاربردی و توضیحات واضح و شفاف…
سلام
کجا و باید ویریایش کرد که این کوئری ها و قرار بدیم..
مرسی
دوست عزیزم کامل کامل توضیح داده شده . متوجه سوالتون نمیشم
برای استفاده از دسته بندی برگه ها از چه کدی باید استفاده کنیم.
کوئری اون به چه شکلی خواهد بود؟؟؟
سلام واقعا آموزش شفافی بود واقعا عالی بود.
تا اینجا آموزشی به این شفافی ندیده بودم
واقعا خسته نباشید
قربان شما . خوشحالم که مفید واقع شده
فوق العاده بود ! عالیی !
من معمولا تشکر نمی کنم ! ببین چی نوشتی که…
سلام ،ممنونم،پاینده باشید
یه دمو میشه برا این آموزشتون بذارید
با سپاس
دوست عزیزم دمو طبیعتا نمیشه گذاشت . چون نمیتونین تشخیص بدین که داره چه اتفاقی می افته . پست هایی که بشه ازش دمو گذاشت , من کوتاهی نمیکنم و حتما قرار میدم
با تشکر
با سلام
من الان به آیدی یاهو و جیمیل شما ایمیل را دوباره ارسال کردم و حتی از بخش تماس سایت شما هم ارسال کردم
ممنون از پیگیری شما
با سپاس فراوان
به زودی منتظر پاسخ باشید . با تشکر
با سلام،
من 5روز پیش به شما ایمیل فرستاده بودم، اما هنوز هیچ جوابی از جانب شما دریافت نکرده ام
من بی صبرانه منتظر پاسخ شما هستم
با سپاس
با سلام . اگر امکانش هست یک بار دیگه ایمیل کنید …