--- title: 'Liquid objects: metaobject_definition' description: >- A `metaobject_definition` defines the structure of a metaobject type for the store, which consists of a merchant-defined set of [field definitions](https://help.shopify.com/en/manual/metafields/metafield-definitions). api_name: liquid source_url: html: 'https://shopify.dev/docs/api/liquid/objects/metaobject_definition' md: 'https://shopify.dev/docs/api/liquid/objects/metaobject_definition.md' --- # metaobject\_​definition A `metaobject_definition` defines the structure of a metaobject type for the store, which consists of a merchant-defined set of [field definitions](https://help.shopify.com/en/manual/metafields/metafield-definitions). One or more corresponding [`metaobject`](https://shopify.dev/docs/api/liquid/objects#metaobject) objects contain values for the fields specified in the metaobject definition. *** **Note:** When looping through metaobjects by accessing them using individual handles (e.g., \\metaobjects.T\Y\P\E\[handle]\\), you\'re limited to 20 unique handles per page and can\'t use \pagination\. To iterate over more metaobjects, instead use the \values\ property, which supports pagination up to 250 entries per page. *** ## Properties * * **values** array of [metaobject](https://shopify.dev/docs/api/liquid/objects/metaobject) * The [metaobjects](https://shopify.dev/docs/api/liquid/objects#metaobject) that follow the definition. * **values\_​count** [number](https://shopify.dev/docs/api/liquid/basics#number) * The total number of entries for the metaobject definition. ### Loop over entries of a metaobject definition If a metaobject definition has multiple metaobject entries, then you can loop over them using the `values` property. You can loop over a maximum of 50 entries in a metaobject definition. For example, you can display the field `author` for each metaobject using the following `forloop`: ```liquid {% for testimonial in metaobjects.testimonials.values %} {{ testimonial.author.value }} {% endfor %} ``` ```liquid {% for testimonial in metaobjects.testimonials.values %} {{ testimonial.author.value }} {% endfor %} ``` *** **Note:** When the \\publishable\ capability\ is enabled, loops return only metaobjects with a status of \active\. Metaobjects with a status of \draft\ are skipped. ***