It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://www.pigprogress.net/RSS/Feed/News-on-Global-Pig-Production/

  1. <!doctype html><html class="no-js" lang="en-US" ><head> <script type="text/javascript">
  2. /* <![CDATA[ */
  3. var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});
  4. /* ]]> */
  5. </script>
  6. <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /> <script>window['mst_global_context'] = {"content":{"type":"overview"},"user":{"is_logged_in":false,"piano_user_id":null,"piano_user_is_entitled":false}};</script><meta name='robots' content='noindex, follow' /> <script>function freaveResetCookies(version) {
  7.  
  8.  if (!version) {
  9.    console.error('Called freaveResetCookies without version number.');
  10.    return;
  11.  }
  12.  
  13.  const resetCookieName = 'cookiereset';
  14.  const resetCookieExpiresDate = new Date();
  15.  const time = resetCookieExpiresDate.getTime();
  16.  const expireTime = time + 360*24*60*60*1000; // in 360 days
  17.  resetCookieExpiresDate.setTime(expireTime);
  18.  
  19.  const resetCookiePattern = new RegExp('(?:^|;)\\s*?' + resetCookieName + '=([^;])*', 'i');
  20.  
  21.  const cookieKeepPatterns = [
  22.    'AWSELB',
  23.    'ASP.NET_SessionId',
  24.    'PHPSESSID',
  25.    'wordpress_',
  26.    'wp-',
  27.    'wp_',
  28.    'gate_',
  29.  ].map(namePrefix => new RegExp('(?:^|;)\\s*?' + namePrefix + '[^=]*=(?:[^;])*', 'i'));
  30.  
  31.  const resetCookieProperties = {
  32.    'samesite': 'Strict',
  33.    'path': '/',
  34.    'expires': resetCookieExpiresDate.toUTCString(),
  35.  }
  36.  
  37.  const expireCookieProperties = {
  38.    'samesite': 'Strict',
  39.    'path': '/',
  40.    'expires': "Thu, 01 Jan 1970 00:00:01 GMT",
  41.  }
  42.  
  43.  const resetCookie = document.cookie.match(resetCookiePattern);
  44.  if (!resetCookie || Number(resetCookie[1]) < Number(version)) {
  45.    resetCookies();
  46.  }
  47.  
  48.  function resetCookies() {
  49.  
  50.    const domains = getDomains();
  51.    const allCookies = document.cookie.split(';');
  52.  
  53.    for (const cookie of allCookies) {
  54.      if (cookieKeepPatterns.some(pattern => pattern.test(cookie))) {
  55.        continue;
  56.      }
  57.      const [name, value] = cookie.split('=').map(part => part.trim());
  58.      const expireAttributes = Object.entries(expireCookieProperties)
  59.        .map(([key, value]) => `${key}=${value}`).join('; ');
  60.      for (const domain of domains) {
  61.        document.cookie = `${name}=${value};${expireAttributes};domain=${domain}`;
  62.      }
  63.      // also reset for the current exact domain by omitting the domain attribute
  64.      document.cookie = `${name}=${value};${expireAttributes}`;
  65.    }
  66.  
  67.    document.cookie = `${resetCookieName}=${version};${Object.entries(resetCookieProperties)
  68.      .map(([key, value]) => `${key}=${value}`).join('; ')};domain=${domains[0]}`;
  69.  }
  70.  
  71.  /**
  72.   * Get list of domains to reset cookies on.
  73.   * @returns {string[]}
  74.   */
  75.  function getDomains() {
  76.    const hostnameParts = window.location.hostname.split('.');
  77.    const domains = [
  78.      hostnameParts.join('.'),
  79.    ];
  80.    for (let i = hostnameParts.length; i >= 2; i--) {
  81.      domains.push(hostnameParts.slice(-i).join('.'));
  82.    }
  83.    if (hostnameParts[0] === 'www') {
  84.      domains.unshift(hostnameParts.slice(1).join('.'));
  85.    }
  86.    return domains;
  87.  }
  88. }
  89. ;window.freaveResetCookies(3);</script> <script>window.googletag = window.googletag || {};
  90.                window.googletag.cmd = window.googletag.cmd || [];
  91.  
  92.                let consentForAds = false;
  93.  
  94.                const consentListeners = {
  95.                    onConsentForAds: [],
  96.                }
  97.  
  98.                function setConsentForAds(value) {
  99.                    for (let listener of consentListeners.onConsentForAds) {
  100.                        listener(value);
  101.                    }
  102.  
  103.                    consentForAds = value;
  104.                }
  105.  
  106.                function hasConsentForAds() {
  107.                    return consentForAds;
  108.                }
  109.  
  110.                function displayGPT(slotName) {
  111.                    if (!slotName) return;
  112.  
  113.                    if (!hasConsentForAds()) {
  114.                        consentListeners.onConsentForAds.push(() => {
  115.                            googletag.cmd.push(function () {
  116.                                googletag.display(slotName);
  117.                            });
  118.                        });
  119.                    } else {
  120.                        googletag.cmd.push(function () {
  121.                            googletag.display(slotName);
  122.                        });
  123.                    }
  124.                }</script> <script>window.dataLayer = window.dataLayer || [];
  125. window.googletag = window.googletag || {cmd: []};
  126.  
  127. var CONTEXT_SECTION = mst_global_context.content.section;
  128.  
  129. function getAdUnitSection() {
  130.    {
  131.        const parentCategoryMapping = {
  132.    'specials': 'Specials',
  133. };
  134.  
  135. const categories = mst_global_context.content.categories;
  136. for (let categoryIndex in mst_global_context.content.categories) {
  137.    let category = mst_global_context.content.categories[categoryIndex];
  138.  
  139.    if (mst_global_context.content.type === 'topic') {
  140.        return 'Specials';
  141.    }
  142.    if (category.hasOwnProperty('parent') && parentCategoryMapping.hasOwnProperty(category.parent.slug)) {
  143.        return category.parent.slug;
  144.    }
  145.  
  146.    return category.name;
  147. }
  148.  
  149. return 'Home';
  150.    }
  151. }
  152.  
  153. const contentSection = getAdUnitSection();
  154.  
  155. var AD_UNIT_SECTION = contentSection || 'Home';
  156.  
  157. var AD_UNIT_PATH = `/21805559310/pigprogress.net/${AD_UNIT_SECTION}`;
  158.  
  159. var HAS_CONSENT = false;
  160.  
  161. var IS_ARTICLE = mst_global_context.content.type !== 'overview';
  162.  
  163. function initializeAds() {
  164.  
  165.    /**
  166.     * INITIALIZE
  167.     *---------------------------------------------------------------------- */
  168.    googletag.cmd.push(function () {
  169.  
  170.        var TAGS = {
  171.            'BillboardTop': {
  172.                sizes: [[970, 250], [970, 90], [728, 90], [468, 60], [320, 240], [320, 100]], // Sizes for this slot
  173.                onOverview: true, // Show on Overview page?
  174.                onArticle: true   // Show on Article page?
  175.            },
  176.            'Billboard2nd': {
  177.                sizes: [[728, 91], [468, 61], [320, 101]],
  178.                onOverview: true,
  179.                onArticle: true
  180.            },
  181.            'RectangleTop': {
  182.                sizes: [[336, 600], [300, 600], [160, 600], [336, 280], [300, 250]],
  183.                onOverview: true,
  184.                onArticle: true
  185.            },
  186.            'Rectangle2nd': {
  187.                sizes: [[336, 281], [300, 251]],
  188.                onOverview: true,
  189.                onArticle: true
  190.            },
  191.            'InArticle': {
  192.                sizes: [[610, 340], [468, 61]],
  193.                onOverview: true,
  194.                onArticle: true
  195.            },
  196.            'OutOfPage': {
  197.                sizes: [],
  198.                onOverview: true,
  199.                onArticle: true
  200.            },
  201.            'MobileAfterIntro': {
  202.                sizes: [[320, 241]],
  203.                onOverview: false,
  204.                onArticle: true
  205.            }
  206.        };
  207.  
  208.        /**
  209.         * Setup your SIZE MAPS: EDIT THESE
  210.         * - TAGS['<name>'] should be EXACTLY as above
  211.         *---------------------------------------------------------------------- */
  212.  
  213.        /* BillboardTop SizeMap */
  214.        TAGS['BillboardTop'].map = googletag.sizeMapping()
  215.            .addSize([1000, 10], [[970, 250], [970, 90], [728, 90]])
  216.    .addSize([768, 10], [[728, 90], [468, 60]])
  217.            .addSize([320, 10], [[320, 240], [320, 100]])
  218.            .addSize([0, 0], [])
  219.            .build();
  220.  
  221.        /* Billboard2nd SizeMap */
  222.        TAGS['Billboard2nd'].map = googletag.sizeMapping()
  223.    .addSize([768, 10], [[728, 91], [468, 61]])
  224.            .addSize([320, 10], [320, 101])
  225.            .addSize([0, 0], [])
  226.            .build();
  227.  
  228.        /* RectangleTop SizeMap */
  229.        TAGS['RectangleTop'].map = googletag.sizeMapping()
  230.            .addSize([1200, 10], [[336, 600], [300, 600], [160, 600], [336, 280]])
  231.    .addSize([1000, 10], [[300, 600], [160, 600], [300, 250]])
  232.            .addSize([768, 10], [])
  233.            .addSize([320, 10], [])
  234.            .addSize([0, 0], [])
  235.            .build();
  236.  
  237.        /* Rectangle2nd SizeMap */
  238.        TAGS['Rectangle2nd'].map = googletag.sizeMapping()
  239.            .addSize([1200, 10], [336, 281])
  240.    .addSize([1000, 10], [300, 251])
  241.    .addSize([768, 10], [])
  242.            .addSize([320, 10], [])
  243.            .addSize([0, 0], [])
  244.            .build();
  245.  
  246.        /* InArticle SizeMap */
  247.        TAGS['InArticle'].map = googletag.sizeMapping()
  248.            .addSize([1000, 10],[610, 340])
  249.    .addSize([768, 10], [468, 61])
  250.            .addSize([320, 10], [])
  251.            .addSize([0, 0], [])
  252.            .build();
  253.  
  254.        /* MobileAfterIntro SizeMap */
  255.        TAGS['MobileAfterIntro'].map = googletag.sizeMapping()
  256.    .addSize([768, 10], [])
  257.            .addSize([320, 10], [320, 241])
  258.            .addSize([0, 0], [])
  259.            .build();
  260.  
  261.        /**
  262.         * Build SLOTS from TAGS: DO NOT EDIT!
  263.         *---------------------------------------------------------------------- */
  264.        for (slotKey in TAGS) {
  265.  
  266.            var _slot = TAGS[slotKey];
  267.  
  268.            /* NOTE: Exception for OutOfPage! */
  269.            if (slotKey === 'OutOfPage') {
  270.                /* Tag: OutOfPageSlot: show everywhere */
  271.                _slot.slot = googletag
  272.                    .defineOutOfPageSlot(AD_UNIT_PATH, slotKey)
  273.                    .addService(googletag.pubads());
  274.            } else {
  275.                /* Generic Slot: check Article/Overview/Both */
  276.                if (
  277.                    (_slot.onOverview && _slot.onArticle) ||
  278.                    (_slot.onArticle && IS_ARTICLE) ||
  279.                    (_slot.onOverview && !IS_ARTICLE)
  280.                ) {
  281.                    _slot.slot = googletag
  282.                        .defineSlot(AD_UNIT_PATH, _slot.sizes, slotKey)
  283.                        .defineSizeMapping(_slot.map)
  284.                        .addService(googletag.pubads());
  285.                }
  286.            }
  287.        }
  288.        ;
  289.  
  290.        /**
  291.         * TARGETING ETC
  292.         *---------------------------------------------------------------------- */
  293.        // // Apply generic targetting to all slots
  294.        googletag.pubads().setTargeting('content_type', mst_global_context.content.type);
  295.  
  296.        var context = mst_global_context;
  297.  
  298.        if (context.content.type === 'post') {
  299.            googletag.pubads().setTargeting('content_premium', mst_global_context.content.is_premium ? 'premium' : 'not-premium');
  300.        } else {
  301.            googletag.pubads().setTargeting('content_premium', 'not-premium');
  302.        }
  303.  
  304.        if (['post', 'tractor', 'brand', 'review', 'case', 'market-analysis'].includes(context.content.type)) {
  305.            if (context.content.cs_id) {
  306.                googletag.pubads().setTargeting('cs_id', context.content.cs_id.toString());
  307.            }
  308.            googletag.pubads().setTargeting('page_id', context.content.id.toString());
  309.            googletag.pubads().setTargeting('post_tags', context.content.tags.toString());
  310.  
  311.            if (context.content.hasOwnProperty('categories')) {
  312.                let categorySlugs = [];
  313.  
  314.                context.content.categories.forEach(function (category, index) {
  315.                    this[index] = category['slug'];
  316.                }, categorySlugs);
  317.  
  318.                googletag.pubads().setTargeting('categories', categorySlugs.join(', '));
  319.            }
  320.        }
  321.  
  322.        // window.mst_dl_variables is a global variable that contains the dataLayer variables
  323.        // it is set in the misset google analytics plugin
  324.        if (window.mst_dl_variables && typeof window.mst_dl_variables === 'object') {
  325.            let dataLayerVariables = window.mst_dl_variables;
  326.            // Loop through all properties of dataLayerVariables
  327.            Object.entries(dataLayerVariables).forEach(([key, value]) => {
  328.                // Ensure value exists and is (converted to) a string
  329.                if (value !== null && value !== undefined) {
  330.                    if (typeof value !== 'string') {
  331.                        value = value.toString();
  332.                    }
  333.                    // Truncate key if it exceeds 20 characters (which is the limit for Google Ad Manager)
  334.                    const truncatedKey = key.length > 20 ? key.substring(0, 20) : key;
  335.                    googletag.pubads().setTargeting(truncatedKey, value);
  336.                }
  337.            });
  338.        } else {
  339.            if (context.content.hasOwnProperty('id')) {
  340.                googletag.pubads().setTargeting('content_id', context.content.id.toString());
  341.            }
  342.        }
  343.  
  344.        if (context.content.type === 'topic') {
  345.            googletag.pubads().setTargeting('page_id', context.content.id.toString());
  346.        }
  347.  
  348.        if (context.user) {
  349.            googletag.pubads().setTargeting('loggedin', context.user.is_logged_in ? 'user-logged-in' : 'user-not-logged-in');
  350.            googletag.pubads().setTargeting('user_id', context.user.piano_user_id?.toString() || null);
  351.        }
  352.  
  353.        googletag.pubads().enableSingleRequest();
  354.  
  355.        /* NOTE: Disable when Lazy Loading? */
  356.        googletag.pubads().collapseEmptyDivs();
  357.  
  358.        googletag.enableServices();
  359.    });
  360. }
  361.  
  362. /**
  363. * Functions to assist in rendering the specials ads.
  364. *
  365. * @type {{defineSpecialsSlots: allaboutfeedSpecials.defineSpecialsSlots, isSpecial: allaboutfeedSpecials.isSpecial, renderSidebar: allaboutfeedSpecials.renderSidebar}}
  366. */
  367. const allaboutfeedSpecials = {
  368.    isSpecial: function () {
  369.        if (!mst_global_context.hasOwnProperty('content') || !mst_global_context.content.hasOwnProperty('categories')) {
  370.            return false;
  371.        }
  372.  
  373.        if (mst_global_context.content.type === 'topic') {
  374.            return true;
  375.        }
  376.  
  377.        let categories = mst_global_context.content.categories;
  378.  
  379.        for (let categoryIndex in categories) {
  380.            let category = categories[categoryIndex];
  381.            if (category.slug === 'specials') {
  382.                return true;
  383.            }
  384.        }
  385.  
  386.        return false;
  387.    },
  388.  
  389.    defineSpecialsSlots: function () {
  390.        if (!allaboutfeedSpecials.isSpecial()) {
  391.            return;
  392.        }
  393.  
  394.        googletag.cmd.push(function () {
  395.  
  396.            for (var i = 1; i <= 20; i++) {
  397.                var slotId = 'div-gpt-ad-1456153210814-' + i.toString();
  398.  
  399.                var sizeMapping = googletag.sizeMapping().addSize([0, 0], [336, 140]).build();
  400.  
  401.                googletag
  402.                    .defineSlot("/21805559310/pigprogress.net", [[336, 140]], slotId)
  403.                    .setTargeting('pos', [i.toString()])
  404.                    .defineSizeMapping(sizeMapping)
  405.                    .addService(googletag.pubads());
  406.            }
  407.        })
  408.    },
  409.  
  410.    renderSidebar: function () {
  411.        if (!allaboutfeedSpecials.isSpecial()) {
  412.            return;
  413.        }
  414.  
  415.        for (var i = 1; i <= 20; i++) {
  416.            let script = "<div id='div-gpt-ad-1456153210814-" + i + "'>\n";
  417.            script += "<script>\n";
  418.            script += "displayGPT(\"div-gpt-ad-1456153210814-" + i + "\");\n";
  419.            script += "\<\/script\>";
  420.            script += "</div><br>";
  421.            document.write(script);
  422.        }
  423.    },
  424.  
  425.    callback: function () {
  426.        initializeAds();
  427.    }
  428. };
  429.  
  430. /**
  431. * Retrieves a cookie value by name.
  432. *
  433. * @param name
  434. * @returns {unknown}
  435. */
  436. function mst_getCookieValue(name) {
  437.    return document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')?.pop() || '';
  438. }
  439.  
  440. window['allaboutfeedSpecials'] = allaboutfeedSpecials;
  441.  
  442. allaboutfeedSpecials.defineSpecialsSlots();
  443.  
  444. consentListeners.onConsentForAds.push(() => {
  445.    /**
  446.     * Dynamically loads either the limited or the full GPT script. Depending
  447.     * on whether the user has consented to cookies. The pagead2 domain name is
  448.     * supposed to be cookieless.
  449.     * @see https://developers.google.com/publisher-tag/guides/get-started
  450.     * @see https://developers.google.com/publisher-tag/guides/general-best-practices
  451.     */
  452.    initializeAds();
  453. });
  454.  
  455. let gptScript = document.createElement('script');
  456. gptScript.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
  457. gptScript.async = true;
  458. document.getElementsByTagName('head')[0].appendChild(gptScript);</script>  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://sst.pigprogress.net/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-PNM6FKT');</script> <link media="all" href="https://www.pigprogress.net/app/cache/autoptimize/css/autoptimize_026967ceea6c5e2c126f53dc4775f864.css" rel="stylesheet"><title>Page not found - Pig Progress</title><meta property="og:locale" content="en_US" /><meta property="og:title" content="Page not found - Pig Progress" /><meta property="og:site_name" content="Pig Progress" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.pigprogress.net/#website","url":"https://www.pigprogress.net/","name":"Pig Progress","description":"Gateway to the world of pig production","publisher":{"@id":"https://www.pigprogress.net/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.pigprogress.net/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://www.pigprogress.net/#organization","name":"Pig Progress","url":"https://www.pigprogress.net/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pigprogress.net/#/schema/logo/image/","url":"https://www.pigprogress.net/app/uploads/2025/01/Pig-Progress-logo-2.png","contentUrl":"https://www.pigprogress.net/app/uploads/2025/01/Pig-Progress-logo-2.png","width":1134,"height":121,"caption":"Pig Progress"},"image":{"@id":"https://www.pigprogress.net/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/PigProgress","https://twitter.com/PigProgress","https://www.instagram.com/pigprogress/","https://www.linkedin.com/company/pigprogress/"]}]}</script> <link rel='dns-prefetch' href='//static.addtoany.com' /><link rel='dns-prefetch' href='//www.pigprogress.net' /><link rel='dns-prefetch' href='//maxcdn.bootstrapcdn.com' /><link rel='stylesheet' id='font-awesome-css' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' type='text/css' media='all' /> <script type="text/javascript" id="addtoany-core-js-before">window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};
  459. a2a_config.icon_color="#2a2a2a,#ffffff";</script> <script type="text/javascript" defer src="https://static.addtoany.com/menu/page.js" id="addtoany-core-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/app/themes/wp-lite/src/js/vendor/jquery/jquery.min.js" id="jquery-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/app/plugins/responsive-lightbox/assets/swipebox/jquery.swipebox.min.js" id="responsive-lightbox-swipebox-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/wp/wp-includes/js/underscore.min.js" id="underscore-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/app/plugins/responsive-lightbox/assets/infinitescroll/infinite-scroll.pkgd.min.js" id="responsive-lightbox-infinite-scroll-js"></script> <script type="text/javascript" id="responsive-lightbox-js-before">var rlArgs = {"script":"swipebox","selector":"lightbox","customEvents":"","activeGalleries":true,"animation":true,"hideCloseButtonOnMobile":false,"removeBarsOnMobile":false,"hideBars":true,"hideBarsDelay":5000,"videoMaxWidth":1080,"useSVG":true,"loopAtEnd":false,"woocommerce_gallery":false,"ajaxurl":"https:\/\/www.pigprogress.net\/wp\/wp-admin\/admin-ajax.php","nonce":"e3c87073d7","preview":false,"postId":0,"scriptExtension":false};</script> <script type="text/javascript" src="https://www.pigprogress.net/app/plugins/responsive-lightbox/js/front.js" id="responsive-lightbox-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/app/plugins/wp-photo-player/js/photoplayer.js" id="photoplayer-js"></script> <script>/**
  460.                     * Cookie consent control for CookieHub
  461.                     */
  462.                    const cpm = {
  463.                        onInitialise: (e) => {
  464.                            if (e.answered) {
  465.                                setConsentForAds(true);
  466.                            }
  467.                        },
  468.                        onStatusChange: (e) => {
  469.                            setConsentForAds(true);
  470.                        },
  471.                    }
  472.  
  473.                    function waitFor(predicate, timeout) {
  474.                        return new Promise((resolve, reject) => {
  475.                            let running = true;
  476.  
  477.                            const check = async () => {
  478.                                const res = await predicate();
  479.                                if (res) return resolve(res);
  480.                                if (running) setTimeout(check, 100);
  481.                            };
  482.  
  483.                            check();
  484.  
  485.                            if (!timeout) return;
  486.                            setTimeout(() => {
  487.                                running = false;
  488.                                reject();
  489.                            }, timeout);
  490.                        });
  491.                    }
  492.  
  493.                    document.addEventListener("DOMContentLoaded", function() {
  494.                        waitFor(() => window.cookiehub, 5000).then(function() {
  495.                            window.cookiehub.load(cpm);
  496.                        });
  497.                    });</script> <script src="https://cdn.cookiehub.eu/tcf/v3/stub.js"></script> <script src="https://cdn.cookiehub.eu/c2/bd802d98.js"></script> <script>(function (src) {
  498.            const a = document.createElement('script');
  499.            a.type = 'text/javascript';
  500.            a.async = true;
  501.            a.src = src;
  502.            const b = document.getElementsByTagName('script')[0];
  503.            b.parentNode.insertBefore(a, b)
  504.        })(`https://id-eu.piano.io/xbuilder/experience/load?aid=Fghgq7SSpe`);
  505.  
  506.        window.tp = window.tp || [];
  507.  
  508.        window.tpInitListeners = {
  509.            add(cb) {
  510.                window.tp.push(['init', () => cb(window.tp)]);
  511.            }
  512.        };
  513.  
  514.        window.freave = {
  515.            pianoAid: "Fghgq7SSpe",
  516.            resourceId: "RAXY92M,RPD7R5E,RRY5Q7X",
  517.            pianoServer: "id-eu.piano.io",
  518.            gformNewsletterRegistrationFormId: "gform_5",
  519.            gformNewsletterRegistrationFormFieldNameEmail: "input_4",
  520.            gformNewsletterRegistrationFormFieldNameFirstName: "input_2",
  521.        }
  522.  
  523.        const cookieIsSet = (cookieName) => {
  524.            return document.cookie.split(';').some(item => item.trim().startsWith(`${cookieName}=`));
  525.        }
  526.  
  527.        const waitForCookieValue = (cookieName, callback, interval = 500, current = 0) => {
  528.            const max = 300 * 1000 / interval; // 5 minutes
  529.            if (current > max) {
  530.                throw new Error('Could not read cookie value in time (5 minutes)');
  531.            }
  532.  
  533.            if (cookieIsSet(cookieName)) {
  534.                const cookieValue = document.cookie.split(';')
  535.                    .find(item => item.trim().startsWith(`${cookieName}=`)).split('=')[1];
  536.                callback(cookieValue);
  537.            } else {
  538.                setTimeout(() => waitForCookieValue(cookieName, callback, interval, ++current), interval);
  539.            }
  540.        }
  541.  
  542.        const waitForUnsetCookieValue = (cookieName, callback, interval = 500, current = 0) => {
  543.            const max = 300 * 1000 / interval; // 5 minutes
  544.            if (current > max) {
  545.                throw new Error('Cookie value is still present after limit. (5 minutes)');
  546.            }
  547.            if (!cookieIsSet(cookieName)) {
  548.                callback();
  549.            } else {
  550.                setTimeout(() => waitForUnsetCookieValue(cookieName, callback, interval, ++current), interval);
  551.            }
  552.        }
  553.  
  554.        const missetGoogleAnalyticsPluginIsActive = true;
  555.        window.tp.push(['addHandler', 'loginSuccess', function (loginData) {
  556.            waitForCookieValue('__tac', () => {
  557.                setLoginLogoutButtonToLogout();
  558.                const pianoUser = window.tp.pianoId.getUser();
  559.                // check if user has confirmed email address, and if not, check if user needs to confirm it, and if not, do redirect (since doi is done or not needed)
  560.                // check source to see if we need to redirect after login
  561.                const doRedirect = (loginData?.source === "PIANOID") && (pianoUser.confirmed || !pianoUser.email_confirmation_required);
  562.                if (missetGoogleAnalyticsPluginIsActive) {
  563.                    if (loginData?.registration) {
  564.                        //waiting for signup datalayer event
  565.                        updateDataLayer({
  566.                            event: 'signup',
  567.                            eventCallback: () => {
  568.                                console.log('Callback triggered for event: signup');
  569.                                window.tp.experience.execute();
  570.                            },
  571.                        });
  572.                    } else {
  573.                        //waiting for login datalayer event
  574.                        updateDataLayer({
  575.                            event: 'login',
  576.                            eventCallback: () => {
  577.                                console.log('Callback triggered for event: login');
  578.                                if (doRedirect) {
  579.                                  location.assign(location.pathname);
  580.                                }
  581.                            },
  582.                        });
  583.                    }
  584.                } else {
  585.                    //not waiting for datalayer events
  586.                    if (doRedirect) {
  587.                      location.assign(location.pathname);
  588.                    }
  589.                }
  590.            });
  591.        }]);
  592.  
  593.        window.tp.push(['addHandler', 'registrationSuccess', function () {
  594.            waitForCookieValue('__tac', () => {
  595.                const user = window.tp.pianoId.getUser();
  596.                const firstName = user?.firstName;
  597.                const emailAddress = user?.email;
  598.                window.tp.pianoId.loadExtendedUser({
  599.                    extendedUserLoaded: function (extendedUserData) {
  600.                        let newsletterOptIn = false;
  601.                        const today = new Date();
  602.                        const formattedDate = today.toISOString().split('T')[0];
  603.  
  604.                        const customFieldValues = extendedUserData?.custom_field_values || [];
  605.                        for (const i in customFieldValues) {
  606.                            const fieldName = customFieldValues[i].field_name;
  607.                            const fieldValue = customFieldValues[i].value;
  608.                            if (fieldName === 'Newsletteroptin' || fieldName.startsWith('EmailOptIn')) {
  609.                                newsletterOptIn = fieldValue;
  610.                            }
  611.                        }
  612.  
  613.                        const newsletterRegistrationDate = newsletterOptIn.toString().toLowerCase() === "true" ? formattedDate : null;
  614.  
  615.                        const dataToSend = {
  616.                            contact: {
  617.                                email: emailAddress,
  618.                                firstName: firstName,
  619.                                newsletterOptIn: newsletterOptIn,
  620.                                currentDate: formattedDate,
  621.                                newsletterRegistrationDate: newsletterRegistrationDate
  622.                            }
  623.                        };
  624.  
  625.                        postDataToZapierHook(dataToSend);
  626.                    },
  627.                });
  628.            });
  629.        }]);
  630.  
  631.        window.tp.push(['addHandler', 'logout', function () {
  632.            waitForUnsetCookieValue('__tac', () => {
  633.                setLoginLogoutButtonToLogin();
  634.                location.reload();
  635.            });
  636.        }]);
  637.  
  638.        const tags = [];
  639.        if (window.mst_global_context) {
  640.            if (window.mst_global_context.content.is_premium) {
  641.                tags.push('Premium');
  642.            }
  643.        }
  644.  
  645.        window.tp.push(['setTags', tags]);
  646.  
  647.        function postDataToZapierHook(dataToSend) {
  648.            fetch('/wp-json/zapier/v1/send-data', {
  649.                method: 'POST',
  650.                credentials: 'same-origin',
  651.                headers: {
  652.                    'Content-Type': 'application/json',
  653.                },
  654.                body: JSON.stringify(dataToSend)
  655.            })
  656.                .then(response => response.json())
  657.                .then(data => {
  658.                    if (data !== 'data successfully sent to zapier') {
  659.                        console.error('failed to send data to zapier');
  660.                    }
  661.                })
  662.                .catch(error => {
  663.                    console.error('error sending data to wordpress endpoint:', error);
  664.                });
  665.        }
  666.  
  667.        function setLoginLogoutButtonToLogin() {
  668.            document.getElementById('pianoLogin').style.display = 'inline-flex';
  669.            document.getElementById('pianoLogout').style.display = 'none';
  670.        }
  671.  
  672.        function setLoginLogoutButtonToLogout() {
  673.            document.getElementById('pianoLogin').style.display = 'none';
  674.            document.getElementById('pianoLogout').style.display = 'inline-flex';
  675.        }
  676.  
  677.  
  678.        function pianoLoginOrLogout() {
  679.            window.tpInitListeners.add(function (tp) {
  680.                if (tp && tp.user && !tp.pianoId.isUserValid()) {
  681.                    tp.user.showLogin();
  682.                } else {
  683.                    if (!(tp?.user) ?? false) {
  684.                        return;
  685.                    }
  686.                    tp.user.logout();
  687.                }
  688.            });
  689.        }
  690.  
  691.        function pianoLogin() {
  692.            window.tpInitListeners.add(function (tp) {
  693.                if (tp && tp.user && !tp.pianoId.isUserValid()) {
  694.                    tp.user.showLogin();
  695.                }
  696.            });
  697.        }
  698.  
  699.        function pianoLogout() {
  700.            window.tpInitListeners.add(function (tp) {
  701.                if (!(tp?.user) ?? false) {
  702.                    return;
  703.                }
  704.                tp.user.logout();
  705.            });
  706.        }
  707.  
  708.        window.tpInitListeners.add(function(tp) {
  709.            // Password can be reset only if user is anonymous
  710.            if (!tp.user || tp.pianoId.isUserValid()) {
  711.                return;
  712.            }
  713.  
  714.            // If URL has reset_token parameter
  715.            const tokenMatch = location.search.match(/reset_token=([A-Za-z0-9]+)/);
  716.            if (tokenMatch) {
  717.                // Get value of the token
  718.                const token = tokenMatch[1];
  719.                // Present password reset form with the found token
  720.                tp.pianoId.show({
  721.                    'resetPasswordToken': token,
  722.                    loggedIn: function () {
  723.                        // Once user logs in - refresh the page
  724.                        document.location.href = "/";
  725.                    }
  726.                });
  727.            }
  728.  
  729.            // If URL has reset password parameter
  730.            const resetPassword = location.search.match(/reset_password=true/);
  731.            if (resetPassword) {
  732.                tp.pianoId.show({
  733.                    screen: 'restore'
  734.                });
  735.            }
  736.  
  737.            // If URL has login parameter
  738.            const login = location.search.match(/login=true/);
  739.            if (login) {
  740.                tp.pianoId.show({
  741.                    screen: 'login'
  742.                });
  743.            }
  744.        });</script> <link rel="icon" href="https://www.pigprogress.net/app/uploads/2021/03/PPR-favicon-150x150.png" sizes="32x32" /><link rel="icon" href="https://www.pigprogress.net/app/uploads/2021/03/PPR-favicon.png" sizes="192x192" /><link rel="apple-touch-icon" href="https://www.pigprogress.net/app/uploads/2021/03/PPR-favicon.png" /><meta name="msapplication-TileImage" content="https://www.pigprogress.net/app/uploads/2021/03/PPR-favicon.png" /> <script>document.addEventListener('DOMContentLoaded', function() {
  745.        document
  746.            .querySelectorAll(`
  747.                .woodwing-image.aligncenter,
  748.                figure.aligncenter,
  749.                .woodwing-image.alignleft,
  750.                figure.alignleft,
  751.                .woodwing-image.alignright,
  752.                figure.alignright
  753.            `)
  754.            .forEach((element) => {
  755.                const img = element.querySelector("img");
  756.                if (
  757.                    !(element instanceof HTMLElement) ||
  758.                    !(img instanceof HTMLImageElement)
  759.                ) {
  760.                return;
  761.            }
  762.            const maxWidth = element.classList.contains("aligncenter")
  763.                ? "100%"
  764.                : "50%";
  765.            if (img.complete) {
  766.                element.style.minWidth = `calc(min(${maxWidth}, ${getMinWidthOfImageContainer(img)}px))`;
  767.            } else {
  768.                img.onload = () => {
  769.                    element.style.minWidth = `calc(min(${maxWidth}, ${getMinWidthOfImageContainer(img)}px))`;
  770.                };
  771.            }
  772.          });
  773.    });
  774.    function getMinWidthOfImageContainer(image) {
  775.        return Math.max(image.naturalWidth, 200);
  776.    }</script> </head><body class="error404 wp-custom-logo wp-theme-wp-lite wp-child-theme-wp-lite-child"> <noscript><iframe src="https://sst.pigprogress.net/ns.html?id=GTM-PNM6FKT" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div class="off-canvas position-right" id="offCanvasRight" data-off-canvas> <button class="close-button" aria-label="Close menu" type="button" data-close> <span aria-hidden="true">&times;</span> </button><ul id="menu-mobile-menu" class="menu" data-responsive-menu="accordion medium-dropdown" data-multi-open="false"><li id="menu-item-26554" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children has-dropdown menu-item-26554"><a href="https://www.pigprogress.net/pigs/"><span>Pigs</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-26562" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26562"><a href="https://www.pigprogress.net/pigs/genetics/"><span>Genetics</span></a></li><li id="menu-item-26556" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26556"><a href="https://www.pigprogress.net/pigs/sowsboars/"><span>Sows &amp; Boars</span></a></li><li id="menu-item-26558" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26558"><a href="https://www.pigprogress.net/pigs/piglets/"><span>Piglets</span></a></li><li id="menu-item-26555" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26555"><a href="https://www.pigprogress.net/pigs/finishers/"><span>Finishers</span></a></li><li id="menu-item-26557" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26557"><a href="https://www.pigprogress.net/pigs/processing/"><span>Processing</span></a></li></ul></li><li id="menu-item-26563" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children has-dropdown menu-item-26563"><a href="https://www.pigprogress.net/industry-and-markets/"><span>Industry &amp; markets</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-26564" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26564"><a href="https://www.pigprogress.net/industry-and-markets/market-trends-analysis/"><span>Market trends / analysis</span></a></li></ul></li><li id="menu-item-26559" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children has-dropdown menu-item-26559"><a href="https://www.pigprogress.net/health-nutrition/"><span>Health/Nutrition</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-26577" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26577"><a href="https://www.pigprogress.net/health-tool/"><span>Health Tool</span></a></li><li id="menu-item-26566" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26566"><a href="https://www.pigprogress.net/dossier/african-swine-fever/"><span>African Swine Fever (ASF)</span></a></li><li id="menu-item-26560" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26560"><a href="https://www.pigprogress.net/health-nutrition/health/"><span>Health</span></a></li><li id="menu-item-26565" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26565"><a href="https://www.pigprogress.net/health-nutrition/nutrition/"><span>Nutrition</span></a></li></ul></li><li id="menu-item-26561" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children has-dropdown menu-item-26561"><a href="https://www.pigprogress.net/world-of-pigs/"><span>World of Pigs</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-26569" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26569"><a href="https://www.pigprogress.net/world-of-pigs/farm-visits/"><span>Farm visits</span></a></li><li id="menu-item-26568" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26568"><a href="https://www.pigprogress.net/world-of-pigs/country-focus/"><span>Country focus</span></a></li><li id="menu-item-26571" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26571"><a href="https://www.pigprogress.net/dossier/global-pig-statistics/"><span>Global pig statistics</span></a></li><li id="menu-item-26570" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26570"><a href="https://www.pigprogress.net/dossier/best-practices/"><span>Best practices</span></a></li></ul></li><li id="menu-item-26573" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26573"><a href="https://www.pigprogress.net/digital-magazine/"><span>Digital magazine</span></a></li><li id="menu-item-26575" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26575"><a href="https://www.pigprogress.net/dossier/webinars/"><span>Webinars</span></a></li><li id="menu-item-26576" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26576"><a href="https://www.pigprogress.net/dossier/podcasts/"><span>Podcasts</span></a></li><li id="menu-item-39698" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-39698"><a href="https://www.pigprogress.net/dossier/videos/"><span>Videos</span></a></li><li id="menu-item-26572" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children has-dropdown menu-item-26572"><a href="https://www.pigprogress.net/our-sites/"><span>Our sites</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-39699" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-39699"><a href="https://www.allaboutfeed.net/"><span>All About Feed</span></a></li><li id="menu-item-39700" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-39700"><a href="https://www.poultryworld.net/"><span>Poultry World</span></a></li><li id="menu-item-39701" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-39701"><a href="https://www.dairyglobal.net/"><span>Dairy Global</span></a></li><li id="menu-item-39702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-39702"><a href="https://www.futurefarming.com/"><span>Future Farming</span></a></li></ul></li><li id="menu-item-39442" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39442"><a href="https://www.pigprogress.net/newsletter/"><span>Newsletter</span></a></li></ul></div><div class="off-canvas-content" data-off-canvas-content><header id="header-wrap" class="site-header"><div class="outer-top-bar-section"><div class="top-bar-section burger"><div class="grid-container"><div class="flex-container align-right"><ul class="show-for-small-only"><li> <a class="button blue" onclick="pianoLoginOrLogout()" href="#">Login/register</a></li><li> <a class="button blue" onclick="" href="https://subscription.pigprogress.net/">Subscribe</a></li></ul><ul id="menu-top-menu" class="align-center" data-responsive-menu="" ><li id="menu-item-39697" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-39697"><a href="https://www.pigprogress.net/dossier/videos/" class="button blue"><span>Videos</span></a></li><li id="menu-item-29796" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29796"><a href="https://www.pigprogress.net/podcasts/" class="button blue"><span>Podcasts</span></a></li><li id="menu-item-40528" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40528"><a href="https://www.pigprogress.net/seminars-viv-asia-2025/?utm_campaign=pp_all_lead_con_non_pigprogress_referral-int_pr_menu-seminar&#038;utm_medium=referral-int&#038;utm_source=pigprogress&#038;bron=menu-seminar" class="button blue"><span>Seminars</span></a></li><li id="menu-item-459" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-459"><a href="https://www.pigprogress.net/dossier/webinars/" class="button blue"><span>Webinars</span></a></li><li id="menu-item-207" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-207"><a href="https://www.pigprogress.net/digital-magazine/" class="button blue"><span>Digital magazine</span></a></li><li id="menu-item-206" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-206"><a href="https://www.pigprogress.net/newsletter/" class="button blue"><span>Newsletter</span></a></li><li id="menu-item-36730" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-36730"><a href="https://subscription.pigprogress.net" class="button blue"><span>Subscribe</span></a></li><li class="hide-for-small-only"><a href="#" onclick="pianoLoginOrLogout()" class=""><img id="pianoLogin" src="https://www.pigprogress.net/app/themes/wp-lite-child/images/user-black.png" alt="login" ><img id="pianoLogout" src="https://www.pigprogress.net/app/themes/wp-lite-child/images/logout.png" alt="logout" style="display: none;"></a></li></ul></div></div></div><div class="menu-wrapper"><div class="grid-container"><nav class="top-bar" data-topbar role="navigation"><div class="top-bar-left"><ul class=""><li class="name"> <a href="https://www.pigprogress.net" class="logo"> <img src="https://www.pigprogress.net/app/uploads/2025/01/Pig-Progress-logo-2.png" alt="Pig Progress" /> </a></li></ul></div><div class="top-bar-right flex-container align-middle"><ul id="menu-main-menu" class="menu hide-for-small-only" data-responsive-menu="drilldown medium-dropdown" ><li id="menu-item-19012" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children has-dropdown menu-item-19012"><a href="https://www.pigprogress.net/pigs/"><span>Pigs</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-19029" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19029"><a href="https://www.pigprogress.net/pigs/genetics/"><span>Genetics</span></a></li><li id="menu-item-19023" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19023"><a href="https://www.pigprogress.net/pigs/sowsboars/"><span>Sows &amp; Boars</span></a></li><li id="menu-item-19026" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19026"><a href="https://www.pigprogress.net/pigs/piglets/"><span>Piglets</span></a></li><li id="menu-item-19022" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19022"><a href="https://www.pigprogress.net/pigs/finishers/"><span>Finishers</span></a></li><li id="menu-item-19025" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19025"><a href="https://www.pigprogress.net/pigs/processing/"><span>Processing</span></a></li></ul></li><li id="menu-item-26634" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-has-children has-dropdown menu-item-26634"><a href="https://www.pigprogress.net/dossier/health-nutrition/"><span>Health &#038; Nutrition</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-25351" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25351"><a href="https://www.pigprogress.net/health-tool/"><span>Health Tool</span></a></li><li id="menu-item-19748" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-19748"><a href="https://www.pigprogress.net/dossier/african-swine-fever/"><span>African Swine Fever (ASF)</span></a></li><li id="menu-item-19047" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19047"><a href="https://www.pigprogress.net/health-nutrition/health/"><span>Health</span></a></li><li id="menu-item-19048" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19048"><a href="https://www.pigprogress.net/health-nutrition/nutrition/"><span>Nutrition</span></a></li></ul></li><li id="menu-item-19011" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children has-dropdown menu-item-19011"><a href="https://www.pigprogress.net/industry-and-markets/"><span>Markets</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-19042" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19042"><a href="https://www.pigprogress.net/industry-and-markets/market-trends-analysis/"><span>Market trends / analysis</span></a></li><li id="menu-item-19761" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-19761"><a href="https://www.pigprogress.net/dossier/global-pig-statistics/"><span>Global pig statistics</span></a></li><li id="menu-item-26707" class="menu-item menu-item-type-post_type menu-item-object-topic menu-item-26707"><a href="https://www.pigprogress.net/topic/interviews-pig-production-sector/"><span>Interviews</span></a></li><li id="menu-item-26706" class="menu-item menu-item-type-post_type menu-item-object-topic menu-item-26706"><a href="https://www.pigprogress.net/topic/pig-production-experts-talk/"><span>Expert opinions</span></a></li></ul></li><li id="menu-item-26650" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-has-children has-dropdown menu-item-26650"><a href="https://www.pigprogress.net/dossier/world-of-pigs/"><span>World of Pigs</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-25461" class="menu-item menu-item-type-post_type menu-item-object-topic menu-item-25461"><a href="https://www.pigprogress.net/topic/farm-visits/"><span>Farm visits</span></a></li><li id="menu-item-25460" class="menu-item menu-item-type-post_type menu-item-object-topic menu-item-25460"><a href="https://www.pigprogress.net/topic/country-focus/"><span>Country focus</span></a></li><li id="menu-item-19760" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-19760"><a href="https://www.pigprogress.net/dossier/best-practices/"><span>Best practices</span></a></li><li id="menu-item-26653" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26653"><a href="https://www.pigprogress.net/dossier/special-focus-within-the-pig-sector/"><span>Special editions</span></a></li></ul></li><li id="menu-item-27047" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children has-dropdown menu-item-27047"><a href="https://www.pigprogress.net/our-sites/"><span>Our sites</span></a><ul class="dropdown menu vertical" data-dropdown-menu><li id="menu-item-27048" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27048"><a href="https://www.allaboutfeed.net"><span>All About Feed</span></a></li><li id="menu-item-27049" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27049"><a href="https://www.poultryworld.net"><span>Poultry World</span></a></li><li id="menu-item-27050" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27050"><a href="https://www.dairyglobal.net"><span>Dairy Global</span></a></li><li id="menu-item-27051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27051"><a href="https://www.futurefarming.com"><span>Future Farming</span></a></li></ul></li></ul><div class="search-wrap"> <a data-toggle="search_form" class="search-tottle"> <img src="https://www.pigprogress.net/app/themes/wp-lite-child/images/search-black.png" alt=""> </a><div class="" id="search_form" data-toggler=".is-expanded"><form role="search" method="get" id="searchform" action="https://www.pigprogress.net/"><div class="grid-x"><div class="cell auto"><input type="text" value="" name="s" id="s" placeholder="Search"></div><div class="cell shrink"><input type="submit" id="searchsubmit" value="Search" class="icon-button"></div><div class="cell shrink"><a class="close-search" data-toggle="search_form"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="#fff" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg></a></div></div></form></div><div class="user-menu1"><ul id="menu-logged-in-user-menu" class="" data-responsive-menu="" ><li id="menu-item-199" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-199"><a href="?auth=logout"><span>Logout</span></a></li></ul></div> <button class="menu-icon show-for-small-only" type="button" data-open="offCanvasRight"></button></div></div></nav></div></div></div><div id="catcher"></div><div class="bottom-bar blue hide-for-small-only"><div class="grid-container"><div class=" flex-container align-right"> <span id="custom_html-2" class="widget_text widget_custom_html"><div class="textwidget custom-html-widget">Gateway to the world of pig production</div></span></div></div></div></header><div id="custom_html-33" class="widget_text grid-container widget_custom_html"><div class="textwidget custom-html-widget"><br><center><div class="ad ad--rectangle"><div id="BillboardTop"> <script>displayGPT('BillboardTop');</script> </div></div></center></div></div><div class="site-content"><div class="grid-container"><div class="grid-x margin-large"><main class="cell small-12 medium-12"><section class="error-404 not-found"><header class="page-header text-center"><h3 class="page-title">Page not found</h3><p><a href="/">> Return to the homepage</a></p></header><div class="grid-x align-middle"><div class="cell small-12 medium-6"> <img width="539" height="293" src="https://www.pigprogress.net/app/uploads/2021/11/404-illustration-pigprogress-1.png" class="attachment-full size-full" alt="" decoding="async" fetchpriority="high" srcset="https://www.pigprogress.net/app/uploads/2021/11/404-illustration-pigprogress-1.png 539w, https://www.pigprogress.net/app/uploads/2021/11/404-illustration-pigprogress-1-300x163.png 300w" sizes="(max-width: 539px) 100vw, 539px" /></div><div class="cell small-12 medium-6"><h3>What are you looking for?</h3><form role="search" method="get" id="searchform" action="https://www.pigprogress.net/"><div class="grid-x"><div class="cell auto"><input type="text" value="" name="s" id="s" placeholder="Search"></div><div class="cell shrink"><input type="submit" id="searchsubmit" value="Search" class="icon-button"></div><div class="cell shrink"><a class="close-search" data-toggle="search_form"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="#fff" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg></a></div></div></form></div></div></section></main></div><div class="section padding-large"><div class="grid-x grid-padding-x align-center"><div class="cell small-9"><div class="small-12 cell"><h3 class="margin-small">Recent articles</h3></div><div class="grid-x grid-padding-x"><div class="medium-6 cell"><div class="text-grid grid-x regular"><div class="cell small-4"><figure><a class="position-relative" href="https://www.pigprogress.net/market-trends-analysis-the-industrymarkets/pig-health-symposium-revolving-around-welfare/"><img width="389" height="260" src="https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-389x260.jpeg" class="attachment-image-news size-image-news wp-post-image" alt="ESPHM" decoding="async" srcset="https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-389x260.jpeg 389w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-300x200.jpeg 300w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-1024x683.jpeg 1024w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-768x512.jpeg 768w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-1536x1024.jpeg 1536w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-2048x1366.jpeg 2048w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-848x565.jpeg 848w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-414x276.jpeg 414w, https://www.pigprogress.net/app/uploads/2025/07/IMG_0665.JPG-1-288x192.jpeg 288w" sizes="(max-width: 389px) 100vw, 389px" /><label class="premium position-absolute">Premium</label></a></figure></div><div class="cell auto"><div class="text-wrap"><div class="meta-t"><span class="time">04-07</span> |
  777. Article</div><h3><a href="https://www.pigprogress.net/market-trends-analysis-the-industrymarkets/pig-health-symposium-revolving-around-welfare/">Review ESPHM 2025: Pig health symposium revolving around welfare</a></h3></div></div></div></div><div class="medium-6 cell"><div class="text-grid grid-x regular"><div class="cell small-4"><figure><a class="position-relative" href="https://www.pigprogress.net/industry-and-markets/eu-feed-sector-calls-for-clarity-as-vision-for-agriculture-takes-shape/"><img width="389" height="260" src="https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-389x260.jpeg" class="attachment-image-news size-image-news wp-post-image" alt="EU feed sector calls for clarity as Vision for Agriculture takes shape" decoding="async" srcset="https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-389x260.jpeg 389w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-300x200.jpeg 300w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-1024x683.jpeg 1024w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-768x512.jpeg 768w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-1536x1024.jpeg 1536w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-2048x1366.jpeg 2048w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-848x565.jpeg 848w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-414x276.jpeg 414w, https://www.pigprogress.net/app/uploads/2025/07/FEFAC-panel-ed-1-288x192.jpeg 288w" sizes="(max-width: 389px) 100vw, 389px" /><label class="premium position-absolute">Premium</label></a></figure></div><div class="cell auto"><div class="text-wrap"><div class="meta-t"><span class="time">03-07</span> |
  778. Article</div><h3><a href="https://www.pigprogress.net/industry-and-markets/eu-feed-sector-calls-for-clarity-as-vision-for-agriculture-takes-shape/">EU feed sector calls for clarity as Vision for Agriculture takes shape</a></h3></div></div></div></div><div class="medium-6 cell"><div class="text-grid grid-x regular"><div class="cell small-4"><figure><a class="position-relative" href="https://www.pigprogress.net/market-trends-analysis-the-industrymarkets/antibiotic-reduction-special-coming-soon/"><img width="389" height="260" src="https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-389x260.png" class="attachment-image-news size-image-news wp-post-image" alt="Photo: Canva" decoding="async" srcset="https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-389x260.png 389w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-300x200.png 300w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-1024x682.png 1024w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-768x512.png 768w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-1536x1024.png 1536w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-848x565.png 848w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-414x276.png 414w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special-288x192.png 288w, https://www.pigprogress.net/app/uploads/2025/07/antibiotic-reduction-special.png 2000w" sizes="(max-width: 389px) 100vw, 389px" /></a></figure></div><div class="cell auto"><div class="text-wrap"><div class="meta-t"><span class="time">03-07</span> |
  779. News</div><h3><a href="https://www.pigprogress.net/market-trends-analysis-the-industrymarkets/antibiotic-reduction-special-coming-soon/">Antibiotic reduction special: Coming soon</a></h3></div></div></div></div><div class="medium-6 cell"><div class="text-grid grid-x sponsor"><div class="cell small-4"><figure><a class="position-relative" href="https://www.pigprogress.net/health-nutrition/health/swine-prime-and-the-critical-role-of-hygiene-in-swine-production/"><img width="389" height="260" src="https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-389x260.jpeg" class="attachment-image-news size-image-news wp-post-image" alt="Swine Prime is a complete hygiene programme developed by CID Lines, an Ecolab company. Photo: CID Lines" decoding="async" srcset="https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-389x260.jpeg 389w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-300x200.jpeg 300w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-1024x683.jpeg 1024w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-768x512.jpeg 768w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-1536x1024.jpeg 1536w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-2048x1366.jpeg 2048w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-848x565.jpeg 848w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-414x276.jpeg 414w, https://www.pigprogress.net/app/uploads/2025/06/Untitled-3000-x-2000-px-12-288x192.jpeg 288w" sizes="(max-width: 389px) 100vw, 389px" /></a></figure></div><div class="cell auto"><div class="text-wrap"><div class="meta-t"><span class="time">02-07</span> |
  780. Partner</div><h3><a href="https://www.pigprogress.net/health-nutrition/health/swine-prime-and-the-critical-role-of-hygiene-in-swine-production/">Swine Prime and the critical role of hygiene in swine production</a></h3></div></div></div></div><div class="medium-6 cell"><div class="text-grid grid-x regular"><div class="cell small-4"><figure><a class="position-relative" href="https://www.pigprogress.net/market-trends-analysis-the-industrymarkets/russia-aims-to-be-more-self-sufficient-with-pig-vaccines-in-3-5-years/"><img width="389" height="260" src="https://www.pigprogress.net/app/uploads/2025/07/ris408846075-389x260.jpeg" class="attachment-image-news size-image-news wp-post-image" alt="Russia pig vaccines" decoding="async" srcset="https://www.pigprogress.net/app/uploads/2025/07/ris408846075-389x260.jpeg 389w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-300x200.jpeg 300w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-1024x683.jpeg 1024w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-768x512.jpeg 768w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-1536x1024.jpeg 1536w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-2048x1366.jpeg 2048w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-848x565.jpeg 848w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-414x276.jpeg 414w, https://www.pigprogress.net/app/uploads/2025/07/ris408846075-288x192.jpeg 288w" sizes="(max-width: 389px) 100vw, 389px" /></a></figure></div><div class="cell auto"><div class="text-wrap"><div class="meta-t"><span class="time">02-07</span> |
  781. News</div><h3><a href="https://www.pigprogress.net/market-trends-analysis-the-industrymarkets/russia-aims-to-be-more-self-sufficient-with-pig-vaccines-in-3-5-years/">Russia aims to be more self-sufficient with pig vaccines in 3-5 years</a></h3></div></div></div></div><div class="medium-6 cell"><div class="text-grid grid-x regular"><div class="cell small-4"><figure><a class="position-relative" href="https://www.pigprogress.net/health-nutrition/nutrition/insect-products-as-health-promoter-in-pig-feed/"><img width="389" height="260" src="https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-389x260.jpeg" class="attachment-image-news size-image-news wp-post-image" alt="203430 Pas opgelegde varkens" decoding="async" srcset="https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-389x260.jpeg 389w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-300x200.jpeg 300w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-1024x683.jpeg 1024w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-768x512.jpeg 768w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-1536x1024.jpeg 1536w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-2048x1366.jpeg 2048w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-848x565.jpeg 848w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-414x276.jpeg 414w, https://www.pigprogress.net/app/uploads/2025/07/roe203430_03-6-288x192.jpeg 288w" sizes="(max-width: 389px) 100vw, 389px" /><label class="premium position-absolute">Premium</label></a></figure></div><div class="cell auto"><div class="text-wrap"><div class="meta-t"><span class="time">02-07</span> |
  782. Article</div><h3><a href="https://www.pigprogress.net/health-nutrition/nutrition/insect-products-as-health-promoter-in-pig-feed/">Insect products as health promoter in pig feed</a></h3></div></div></div></div></div></div></div></div></div></div><footer id="footer-wrap hide-for-print"><div class="top-footer"><div class="grid-container"><div class="grid-x grid-padding-x "><div class="footer-col cell"><div id="nav_menu-2" class="widget_nav_menu widget"><h5 class="widgettitle">Focus topics</h5><div class="menu-footer-1-focus-topics-container"><ul id="menu-footer-1-focus-topics" class="menu"><li id="menu-item-25312" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-25312"><a href="https://www.pigprogress.net/dossier/special-focus-within-the-pig-sector/">Special editions</a></li><li id="menu-item-26731" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-26731"><a href="https://www.pigprogress.net/dossier/african-swine-fever/">African Swine Fever</a></li><li id="menu-item-26732" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26732"><a href="https://www.pigprogress.net/health-tool/">Health Tool</a></li><li id="menu-item-26733" class="menu-item menu-item-type-post_type menu-item-object-topic menu-item-26733"><a href="https://www.pigprogress.net/topic/farm-visits/">Farm visits</a></li><li id="menu-item-32157" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32157"><a href="https://get.pigprogress.net/seminars-pig-progress/">Seminars &#8211; EuroTier</a></li></ul></div></div></div><div class="footer-col cell"><div id="nav_menu-3" class="widget_nav_menu widget"><h5 class="widgettitle">Products</h5><div class="menu-footer-2-products-container"><ul id="menu-footer-2-products" class="menu"><li id="menu-item-461" class="menu-item menu-item-type-post_type menu-item-object-pillar-page menu-item-461"><a href="https://www.pigprogress.net/dossier/webinars/">Webinars</a></li><li id="menu-item-408" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-408"><a href="https://misset.com/international-events/">Events</a></li><li id="menu-item-409" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-409"><a href="https://www.pigprogress.net/newsletter/">Newsletter</a></li><li id="menu-item-410" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-410"><a href="https://www.pigprogress.net/digital-magazine/">Digital magazine</a></li><li id="menu-item-414" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-414"><a href="https://www.pigprogress.net/our-content-partners/">Our content partners</a></li></ul></div></div></div><div class="footer-col cell"><div id="nav_menu-4" class="widget_nav_menu widget"><h5 class="widgettitle">Social</h5><div class="menu-footer-3-social-container"><ul id="menu-footer-3-social" class="menu"><li id="menu-item-415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-415"><a href="https://www.facebook.com/PigProgress">Facebook</a></li><li id="menu-item-416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-416"><a href="https://www.linkedin.com/company/pigprogress/">LinkedIn</a></li><li id="menu-item-417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-417"><a href="https://twitter.com/pigprogress">Twitter</a></li><li id="menu-item-462" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-462"><a href="https://www.instagram.com/pigprogress/">Instagram</a></li><li id="menu-item-36064" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-36064"><a href="https://www.youtube.com/@PigProgress">YouTube</a></li></ul></div></div></div><div class="footer-col cell"><div id="nav_menu-5" class="widget_nav_menu widget"><h5 class="widgettitle">Services</h5><div class="menu-footer-4-services-container"><ul id="menu-footer-4-services" class="menu"><li id="menu-item-418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-418"><a href="https://misset.com/contact/?lang=en">Contact</a></li><li id="menu-item-419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-419"><a href="https://misset.com/international/?lang=en">Advertising</a></li><li id="menu-item-420" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-420"><a href="https://www.pigprogress.net/our-sites/">Our sites</a></li></ul></div></div></div><div class="footer-col newslwtter cell"><div id="gform_widget-2" class="gform_widget widget"><h5 class="widgettitle">Newsletter</h5> <script type="text/javascript" src="https://www.pigprogress.net/wp/wp-includes/js/dist/dom-ready.min.js" id="wp-dom-ready-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/wp/wp-includes/js/dist/hooks.min.js" id="wp-hooks-js"></script> <script type="text/javascript" src="https://www.pigprogress.net/wp/wp-includes/js/dist/i18n.min.js" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after">wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );</script> <script type="text/javascript" src="https://www.pigprogress.net/wp/wp-includes/js/dist/a11y.min.js" id="wp-a11y-js"></script> <script type="text/javascript" defer='defer' src="https://www.pigprogress.net/app/plugins/gravityforms/js/jquery.json.min.js" id="gform_json-js"></script> <script type="text/javascript" id="gform_gravityforms-js-extra">var gform_i18n = {"datepicker":{"days":{"monday":"Mon","tuesday":"Tue","wednesday":"Wed","thursday":"Thu","friday":"Fri","saturday":"Sat","sunday":"Sun"},"months":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"},"firstDay":1,"iconText":"Select date"}};
  783. var gf_legacy_multi = [];
  784. var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled"},"vars":{"images_url":"https:\/\/www.pigprogress.net\/app\/plugins\/gravityforms\/images"}};
  785. var gf_global = {"gf_currency_config":{"name":"Euro","symbol_left":"","symbol_right":"&#8364;","symbol_padding":" ","thousand_separator":".","decimal_separator":",","decimals":2,"code":"EUR"},"base_url":"https:\/\/www.pigprogress.net\/app\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.pigprogress.net\/app\/plugins\/gravityforms\/images\/spinner.svg","strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved.  The content contains the link to return and complete the form."}};</script> <script type="text/javascript" defer='defer' src="https://www.pigprogress.net/app/plugins/gravityforms/js/gravityforms.min.js" id="gform_gravityforms-js"></script> <script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gravity-theme newsletter_wrapper' id='gform_wrapper_5' ><div class='gform_heading'><p class='gform_required_legend'>&quot;<span class="gfield_required gfield_required_asterisk">*</span>&quot; indicates required fields</p></div><form method='post' enctype='multipart/form-data'  id='gform_5' class='newsletter' action='/RSS/Feed/News-on-Global-Pig-Production/' ><div class='gform_body gform-body'><div id='gform_fields_5' class='gform_fields top_label form_sublabel_below description_below'><div id="field_5_4"  class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible"  data-js-reload="field_5_4"><label class='gfield_label' for='input_5_4' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_4' id='input_5_4' type='text' value='' class='large'    aria-required="true" aria-invalid="false"  /></div></div><div id="field_5_3"  class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible"  data-js-reload="field_5_3"><div class='ginput_container ginput_container_text'><input name='input_3' id='input_5_3' type='hidden' class='gform_hidden'  aria-invalid="false" value='06/07/2025' /></div></div><div id="field_5_5"  class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible"  data-js-reload="field_5_5"><label class='gfield_label' for='input_5_5' >Comments</label><div class='ginput_container'><input name='input_5' id='input_5_5' type='text' value='' /></div><div class='gfield_description' id='gfield_description_5_5'>This field is for validation purposes and should be left unchanged.</div></div></div></div><div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_5' class='gform_button button' value='Subscribe'  onclick='if(window["gf_submitting_5"]){return false;}  window["gf_submitting_5"]=true;  ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_5"]){return false;} window["gf_submitting_5"]=true;  jQuery("#gform_5").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='5' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjJlZGZhZTNkN2QzNzIwZjRjNmY4MmNjYmFmNmFiMjViIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' /> <input type='hidden' name='gform_field_values' value='' /></div></form></div></div></div></div></div></div><div class="bottom-footer"><div class="grid-container"><div id="custom_html-6" class="widget_text widget_custom_html widget"><div class="textwidget custom-html-widget"><a href="https://www.misset.com/" target="_blank" >Misset Uitgeverij B.V.</a> Copyright reserved.<br/>The following rules apply to the use of this site: <a href="https://misset.com/terms-conditions/" target="_blank" >Terms of Use</a>, <a href="https://misset.com/privacy-en/" target="_blank" >Privacy Policy</a> and <a href="https://misset.com/cookies-en/" target="_blank" >Cookie Policy</a>.</div></div></div></div></footer> <script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp\/wp-*.php","\/wp\/wp-admin\/*","\/app\/uploads\/*","\/app\/*","\/app\/plugins\/*","\/app\/themes\/wp-lite-child\/*","\/app\/themes\/wp-lite\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <script type="text/javascript" src="https://www.pigprogress.net/app/themes/wp-lite-child/dist/scripts.min.js" id="lite-scripts-js"></script> <script type="text/javascript">gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 5) {} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } );</script> <script type="text/javascript">gform.initializeOnLoaded( function() { jQuery(document).trigger('gform_post_render', [5, 1]) } );</script> </body></html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda