m1410 196 ارسال شده در مرداد 13، 1400 گزارش اشتراک گذاری ارسال شده در مرداد 13، 1400 با سلام و وقت بخیر خدمت دوستان ممنون میشم یکی کد زیر رو برام ترجمه کنه و بگه چیکار میکنه : <?php $query = new WP_Query( array( 'category__in' => 37 ) ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); include get_template_directory() . '/parts/pst.php'; endwhile; endif; ?> لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
Masih 6,279 ارسال شده در مرداد 13، 1400 گزارش اشتراک گذاری ارسال شده در مرداد 13، 1400 درود؛ این کد خیلی ساده و تقریبا با حداقل تنظیمات برای نمایش دادن پست ها از یک دسته بندی به آی دی 37 هست که توی کد بالا تنظیم شده. کار این کد اینه که میاد دسته بندی با آی دی 37 رو بررسی می کنه و هر چی پست داخل همین آی دی هست (نه زیرمجموعه های این دسته بندی) رو دریافت می کنه. بعد توسط دستور while میاد اون فایل parts/pst.php که در پوشه قالب هست رو برای تک تک پست هایی که دریافت کرده لحاظ می کنه. یعنی محتویات فایل parts/pst.php به نوعی هست که برای نمایش دادن و یا ساختار یک مطلب هست (شامل بلوک بندی مطلب، تصویر شاخص، نام و لینک مطلب و ...). و از این ساختار برای هر یک از مطالبی که گرفته لحاظ می کنه و در خروجی کد مطالب رو با این ساختار به کاربر نمایش میده. اگه خودتون در حال طراحی قالب هستید، می تونید فیلترهای بیشتری روی این کد اعمال کنید و کدتون رو پیشرفته تر کنید. این صفحه از وردپرس رو پیشنهاد می کنم: لینک ها تنها برای اعضای سایت قابل نمایش است. لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
m1410 196 ارسال شده در مرداد 13، 1400 مالک گزارش اشتراک گذاری ارسال شده در مرداد 13، 1400 بسیار ممنون این کدرو کسی برام نوشته - عملکردش اینطور هستش که میاد مطالب دسته 37 رو در صفحه اصلی نشون نمیده - چطور اینطور میکنه دستور ؟ یعنی مطالب اون دسته رو در صفحه اصلی نشون نمیده لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
Masih 6,279 ارسال شده در مرداد 13، 1400 گزارش اشتراک گذاری ارسال شده در مرداد 13، 1400 خیر زمانی که از پارامتر category_in استفاده بشه، یعنی اون حلقه باید فقط مطالبی که داخل دسته بندی تعریف شده هست رو دریافت کنه و نمایش بده. برای مستثنی کردن یا مخفی کردن مطالب یک دسته بندی، شما باید بجای این پارامتر از category__not_in استفاده کنید. به این صورت: <?php $query = new WP_Query( array( 'category__not_in' => array( 37 ) ) ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); include get_template_directory() . '/parts/pst.php'; endwhile; endif; ?> یا اینکه می تونید از روش منفی کردن دسته بندی استفاده کنید. این روش هم مثل روش قبل هست ولی روش قبلی استانداردتر هست. به این صورت: <?php $query = new WP_Query( array( 'cat' => '-37' ) ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); include get_template_directory() . '/parts/pst.php'; endwhile; endif; ?> یعنی دسته بندی که میخوایم نمایش داده نشه رو قبلش یه منفی میذاریم. لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
m1410 196 ارسال شده در مرداد 13، 1400 مالک گزارش اشتراک گذاری ارسال شده در مرداد 13، 1400 با تشکر از پاسخ آخه ما همچین کاری از کدنویس خواستیم که دسته 37 هرچی توش منتشر میشه رو تو صفحه اصلی نشون نده و بفرسته تو صفحه دوم یا به نوعی آرشیو کنه لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
Masih 6,279 ارسال شده در مرداد 13، 1400 گزارش اشتراک گذاری ارسال شده در مرداد 13، 1400 متاسفانه اون کد صحیح نبود. به هرحال اگه فقط هدفتون اینه که یه دسته بندی رو مخفی کنید از صفحه اصلی، راه بهتری هم برای انجامش هست. اونم استفاده از دستورات داخل فایل functions.php قالبه که مثل کدی که دادید عمل می کنه با این تفاوت که نیازی نیست بگردید و حلقه مطالب صفحه اصلی رو پیدا کنید. این کد رو در انتهای فایل functions.php قالبتون قرار بدید بهتر و راحت تر همین کارو براتون انجام میده: function talkina_exclude_category_home( $query ) { if ( $query->is_home ) { $query->set( 'cat', '-37' ); } return $query; } add_filter( 'pre_get_posts', 'talkina_exclude_category_home' ); لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
پست های پیشنهاد شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.