وردپرس: ادغام خوراک (فید – Feed) های پست تایپ سفارشی با خوراک اصلی
کد تخفیف در جریان devme1397 %10 تا آخر پاییز97

در وردپرس، زمانی که افزونه ای یا قالبی نصب کنید، امکان دارد چندین پست تایپ سفارشی (Custom Post Type) به وردپرس شما اضافه شود که درون آن می توانید مطالب گوناگونی را ارسال نمایید. مانند افزونه EDD و ووکامرس که امکان افزودن محصولات را به وردپرستان اضافه می کند. حال هر کدام از این پست تایپ های سفارشی جدید به صورت جداگانه یک خوراک مخصوص به خود دارند. برای مثال در افزونه Easy Digital Downloads خوراک محصولات شما در این آدرس قابل دسترس خواهد بود:

https://site.ltd/downloads/feed

ولی اگر به خوراک اصلی سایت ( یعنی آدرس https://site.ltd/feed ) مراجعه کنید، ممکن است مطالبی که در پست تایپ سفارشی اضافه کرده اید را در این خوراک مشاهده نکنید. اگر قصد دارید این مطالب را به خوراک اصلی سایتتان اضافه کنید، با ما در این مستند از مارکت دِومی همراه باشید تا با معرفی یک کد (با دوحالت مختلف) ، بتوانید چنین کاری را انجام دهید.

 


ادغام تمامی خوراک های پست تایپ های سفارشی

حالت اول، کدی است که توانایی ادغام تمامی خوراک های پست تایپ ها را در خوراک اصلی سایت دارد. در این کد نیازی به تعریف پست تایپ های مورد نظر نیست و خوده این کد تمامی پست تایپ های سفارشی فعال در وردپرستان را بررسی و تمامی آنها را در خوراک اصلی سایت خواهد آورد.

کد زیر را در فایل functions.php قالبتان قرار دهید.

function devme_merge_all_feeds($qv) {
    if (isset($qv['feed']))
        $qv['post_type'] = get_post_types();
    return $qv;
}
add_filter('request', 'devme_merge_all_feeds');

 


ادغام برخی از پست تایپ های سفارشی

حالت دوم، کدی است که شما باید داخل آن تعریف کنید که چه پست تایپ هایی را قصد دارید در خوراک اصلی بیاورید. برای مثال 5 پست تایپ در سایت خود دارید ولی تنها می خواهید 3 عدد از آن ها را در خوراک اصلی نمایش دهید. در چنین صورتی با استفاده از کد زیر و تعریف نام پست تایپ ها، قادر به انجام چنین کاری خواهید بود:

کد زیر را در فایل functions.php قالبتان قرار دهید.

function devme_merge_custom_feeds($qv) {
    if (isset($qv['feed']) && !isset($qv['post_type']))
        $qv['post_type'] = array('post', 'download');
    return $qv;
}
add_filter('request', 'devme_merge_custom_feeds');

تنظیمات و شخصی سازی:

  • در خط 3 کد بالا، پست تایپ هایی که باید ادغام شوند را وارد کنید. در این کد ما تنها 2 پست تایپ تعریف کرده ایم. شما می توانید مانند مثال زیر، هر چند پست تایپ که دارید را تعریف کنید:
$qv['post_type'] = array('post', 'download', 'events', 'product', 'links', 'devme');

به نحوه افزودن پست تایپ ها دقت کنید که هر پست تایپ داخل نماد نقل قول تکی قرار داده شده و هر کدام از این ها با یک کاما از هم جدا شده اند اما در انتهای آخرین پست تایپ نیازی به استفاده از کاما نیست.

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟