سلام به همگی. در این پست از این ساعت از بیست اسکریپت ، با یک هک ساده و کاربردی در خدمت همراهان عزیز هستیم. این هک، در واقع یک راه ساده و کاربردی برای اضافه کردن پست تایپ های وردپرس (مثل محصولات EDD) به صفحه اصلی سایت هست و میتونید از اون در قالب سایت استفاده کنید. (اگه با پست تایپ آشنایی ندارید، به این لینک مراجعه کنید)
کل عملیات این هک، در قطعه کد کوتاه زیر خلاصه شده و باید اون رو در فایل توابع پوسته (functions.php) قرار بدید. این قطعه کد، میتونه مطالب پست تایپی با نام downloads (مربوط به افزونه EDD) رو به صفحه اصلی سایت اضافه کنه:
add_filter( 'pre_get_posts', 'my_get_posts' ); function my_get_posts( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'download') ); return $query; }
حالا اگه شما این پست تایپ رو ندارید و یا اینکه میخواید پست تایپ های دیگه و یا برگه های سایت رو هم به صفحه اصلی اضافه کنید، کافیه که نام (slug) اونها رو در خط query->set قرار بدید. مثلا:
$query->set( 'post_type', array( 'post', 'page','page','gallery','movie') );
اما این هم کل ماجرا نیست! شما میتونید با اضافه کردن دستورات شرطی جدید، پست تایپ ها رو در هر جای دیگه ای هم که خواستید، نمایش بدید. مثلا: برای اضافه کردن پست تایپ ها به خوراک اصلی (feed)، باید دستور شرطی بالا رو به صورت زیر تغییر بدید:
if ( ( is_home() && $query->is_main_query() ) || is_feed() )
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید