{"id":49282,"date":"2025-08-27T09:58:42","date_gmt":"2025-08-27T09:58:42","guid":{"rendered":"https:\/\/crocoblock.com\/knowledge-base\/?post_type=article&#038;p=49282"},"modified":"2025-09-08T08:16:36","modified_gmt":"2025-09-08T08:16:36","slug":"how-to-add-pagination-to-listing-via-lovable","status":"publish","type":"article","link":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/","title":{"rendered":"How to Add Pagination to the Listing via Lovable"},"content":{"rendered":"\n<p>Discover how to create a listing with pagination using the Lovable AI website builder. This guide explains how to connect your WordPress data through <em>JetEngine\u2019s <\/em>REST API endpoints, configure pagination parameters, and generate a user-friendly directory website with Lovable.<\/p>\n\n\n\n<p>From our <a href=\"https:\/\/crocoblock.com\/blog\/wordpress-ai-builders-and-wordpress-crocoblock-combo\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>WordPress and AI Builders Integration using Crocoblock: Bolt and Lovable Cases<\/strong><\/a> article, you can learn about the integration with Crocoblock. In this guide, we focus on setting up the listing with pagination.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"setting-up-a-query-builder-source\">Setting Up a Query Builder Source<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Proceed to <strong><em>WordPress Dashboard &gt; JetEngine &gt; Query Builder<\/em><\/strong> and click the \u201c<strong>Add New<\/strong>\u201d button. Type the query <strong>Name<\/strong> and select the \u201c<a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/query-builder-cct-query-type\/\" target=\"_blank\" rel=\"noreferrer noopener\">Custom Content Type Query<\/a>\u201d option as a <strong>Query Type<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-1024x640.webp\" alt=\"query created\" class=\"wp-image-49283\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"rest-api-activation\">REST API Activation<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>In the query you created, enable the <strong>Register REST API Endpoint<\/strong> toggle. Then, set up the <strong>Endpoint Namespace<\/strong> and <strong>Endpoint Path<\/strong>.\u00a0<\/p>\n\n\n\n<p>You receive the <strong>REST API Endpoint URL<\/strong>; keep it, as we will use it in the prompt later.\u00a0<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1-1024x640.webp\" alt=\"register rest api endpoint toggle enabled\" class=\"wp-image-49284\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/register-rest-api-endpoint-toggle-enabled-1.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n\n\n\n<p>In the <strong>Query Arguments,<\/strong> add the parameters that will filter the listing. Refer to our <strong><a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-build-listing-with-filters-via-lovable\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Build a Listing with Filters via Lovable<\/a><\/strong> guide to learn more about setting up filters for your listing.&nbsp;<\/p>\n\n\n\n<p>To add pagination to the listing, let\u2019s have a closer look at its settings.&nbsp;<\/p>\n\n\n\n<p>If we use a simple <strong>CCT <\/strong>endpoint, pagination is quite straightforward. There are built-in \u201c_limit\u201d and \u201d_offset\u201d parameters, and it is enough to mention in the prompt that these should be applied.<\/p>\n\n\n\n<p>With <strong>Query Builder<\/strong>, the setup depends on the type of query you use. For example, in a <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/query-builder-posts-query-type\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Posts Query<\/strong><\/a>, you can simply pass the page number, while for a <strong>CCT Query<\/strong>, you will need to work with the offset parameter.&nbsp;<\/p>\n\n\n\n<p>Let\u2019s have a closer look at the pagination setup for the <strong>CCT Query<\/strong>.&nbsp;<\/p>\n\n\n\n<p>First, pagination itself will work by changing the \u201coffset\u201d parameter, so add it to the <strong>Query Arguments<\/strong> in the <strong>Query Builder<\/strong> settings.<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added-1024x640.webp\" alt=\"the offset parameter is added \" class=\"wp-image-49285\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/the-offset-parameter-is-added.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n\n\n\n<p>Next, scroll down a bit and set the <strong>Content Type,<\/strong> then add a fixed parameter in the <strong>Number <\/strong>field \u2013 this defines how many items will be displayed per page.<\/p>\n\n\n\n<p>Finally, pass this parameter into the <strong>Offset <\/strong>setting using a macro. Note that there is no UI control for macros in this case, so you will need to insert the macro manually. So here we inserted the following macro:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>%query_var|offset%<\/code><\/pre>\n\n\n\n<p>Where the \u201coffset\u201d is equal to the <strong>Query Argument<\/strong> we added earlier.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up-1024x640.webp\" alt=\"number and offset fields set up\" class=\"wp-image-49286\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/number-and-offset-fields-set-up.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n\n\n<div class=\"note-banner d-flex border-bold border-jetthemecore rounded overflow-hidden p-20\"><div class=\"mr-12\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M9 21C9 21.5 9.4 22 10 22H14C14.6 22 15 21.5 15 21V20H9V21ZM12 2C8.1 2 5 5.1 5 9C5 11.4 6.2 13.5 8 14.7V17C8 17.5 8.4 18 9 18H15C15.6 18 16 17.5 16 17V14.7C17.8 13.4 19 11.3 19 9C19 5.1 15.9 2 12 2Z\" fill=\"#F2D23C\"\/><\/svg><\/div><div class=\"d-flex flex-column\"><div class=\"text-900 mb-12\">Things to know<\/div><p class=\"m-0\">Ensure that you retain the <strong>REST API Endpoint URL<\/strong>, the list of parameters you added to the <strong>Query Arguments<\/strong>, and the <strong>Example of the REST API Endpoint URL with Query Arguments<\/strong>, as this information will be used in the prompt.<\/p><\/div><\/div>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creating-a-prompt\">Creating a Prompt<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Now, proceed to the <a href=\"https:\/\/lovable.dev\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Lovable<\/a> platform and sign in or log in.&nbsp;<\/p>\n\n\n\n<p>The prompt should include information about the site you need to create, such as its type and purpose, as well as the main functions that are expected to be implemented. You can also share some existing sites as examples and any other context that may be helpful for the builder.&nbsp;<\/p>\n\n\n\n<p>It should also be noted that the data should be retrieved from the REST API, and the URLs you saved earlier should be shared. It is recommended to describe the specific data that will be obtained from the URLs.&nbsp;<\/p>\n\n\n\n<p>If you use the <strong>CCT <\/strong>as a source, describe what meta fields from the <strong>CCT<\/strong>. When you use the query as a source, you can copy an item from the <strong>Preview results<\/strong> section for the AI builder.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1-1024x640.webp\" alt=\"item from the preview query results copied\" class=\"wp-image-49287\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/item-from-the-preview-query-results-copied-1.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n\n\n\n<p>If you need a single page to exist on the site, request its creation and share the <strong>Endpoint URL<\/strong> from which the single page will be obtained.&nbsp;<\/p>\n\n\n\n<p>When setting up pagination, the prompt should include the number of items per page.&nbsp;<\/p>\n\n\n\n<p>Even if you have already defined this manually in the query settings, it is important to mention it in the prompt.<\/p>\n\n\n\n<p>For the <strong>CCT <\/strong>endpoint (direct API request, without <strong>Query Builder<\/strong>), you will need to pass the \u201c_limit\u201d parameter that defines the number of items per page.<\/p>\n\n\n\n<p>The parameter responsible for switching pages depends on the type of query you are working with.<\/p>\n\n\n\n<p>In our example, we use the offset parameter, so we specify this in the prompt.<\/p>\n\n\n\n<p>The total number of items is required to calculate the total number of pages.<\/p>\n\n\n\n<p>You can get it from the API response headers. Most often, it will be the Jet-Query-Total header. Sometimes you can use Jet-Query-Pages instead (for example, in a <strong>Posts Query<\/strong> where you pass the page number instead of an offset).<\/p>\n\n\n\n<p>Here is an example prompt for the <strong>Query Builder<\/strong> source:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Also, let's add pagination. You can get the total results count from the API response header Jet-Query-Total. Also API supports the `offset` parameter to change the page. I've already set up the API on the server side to return 6 items per page.<\/code><\/pre>\n\n\n\n<p>If you work with the <strong>CCT <\/strong>endpoint, you can use the following prompt example:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Also, let's add pagination. You can get the total results count from the API response header Jet-Query-Total. Also API supports the `_offset` parameter to change the page. Set 6 items per page using `_limit` API parameter.\n<\/code><\/pre>\n\n\n\n<p>Here is the whole prompt we used in this tutorial to get the listing with the pagination and filters:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I want to build a website, which is a showcase of other websites built with Crocoblock plugins, like this - https:\/\/crocoblock.com\/websites-made-with-elementor-and-crocoblock\/\n\nYou can grab the data by the API from here - https:\/\/demo.crocoblock.com\/lab\/wp-json\/jet-cct\/websites\n\nI need a listing of the websites with filters by used plugins, website type, and topic, and optionally by author. Also, I need the single page for the website, based on the data from the API. A single website could be retrieved from the API by such a URL - https:\/\/demo.crocoblock.com\/lab\/wp-json\/jet-cct\/websites\/{_ID}, where {_ID} you need to replace with the actual item ID.\n\nAllowed plugins for the filters\n\nJetEngine\nJetSmartFilters\nJetFormBuilder\nJetThemeCore\nJetElements\nJetMenu\nJetTabs\nJetWooBuilder\nJetProductGallery\nJetCompareWishlist\nJetPopup\nJetTricks\nJetReviews\nJetSearch\nJetAppointment\nJetBooking\nJetBlog\n\nAllowed types\n\nE-Commerce\nDirectory\nPersonal Blog\nPortfolio\nCorporate Website\nLanding Page\nNews Portal\nOnline Magazine\nMembership Site\nForum \/ Community\nEducational Website\nNonprofit \/ Charity\nGovernment Website\nWeb App \/ SaaS\nBooking Website\nEvent Website\nResume \/ CV Website\nAffiliate \/ Review Website\nMarketplace\nWiki \/ Knowledge Base\nPodcast Website\nRestaurant \/ Menu Website\n\nAllowed topics\n\nFashion\nTechnology\nLifestyle\nTravel\nFood\nHealth &amp; Fitness\nPersonal Finance\nEducation\nEntertainment\nPhotography\nParenting\nHome &amp; Garden\nDIY &amp; Crafts\nBeauty\nAutomotive\nBusiness\nMarketing\nSports\nNews &amp; Politics\nGaming\nMusic\nArt &amp; Design\nReal Estate\nScience\nSpirituality &amp; Religion\nPets\nEnvironment &amp; Nature\nCareers &amp; Jobs\nRelationships &amp; Dating\nReviews &amp; Product Comparisons\n\nExample of the API URL with filter parameters\n\nhttps:&#47;&#47;demo.crocoblock.com\/lab\/wp-json\/jet-cct\/websites\/?cct_author_id=1&amp;_orderby=_ID&amp;_order=desc&amp;_ordertype=integer\n\nHere is a description of all API response props (which also can be used as request parameters in _filters)\n\n_ID - Item ID;\nwebsite_name - Website Name;\nwebsite_url - Website URL;\npreview_image - Preview Image;\ndeveloper_name - Developer Name;\nplugins_used - Plugins Used;\nwebsite_type - Website Type;\nwebsite_topic - Website Topic;\ndescription - Description;\ncct_author_id - Item Author;\ncct_created - Created Date;\ncct_modified - Modified Date;\ncct_status - Status;\n_cct_search - Search string, type: string;\n_cct_search_by - Comma separated field names list to search only by these fields, type: string;\n_limit - Items limit, type: number;\n_offset - Items offset, type: number;\n_orderby - Order items by field, type: string;\n_order - Order - asc or desc, type: string;\n_ordertype - Order value type - integer, float, timestamp, date, string, type: string;\n_filters - JSON-encoded filters string, type: string;\n\nAlso, let's add pagination. You can get the total results count from the API response header Jet-Query-Total. Also API supports the `offset` parameter to change the page. I've already set up the API on the server side to return 6 items per page.\n<\/code><\/pre>\n\n\n<div class=\"note-banner d-flex border-bold border-jetthemecore rounded overflow-hidden p-20\"><div class=\"mr-12\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M9 21C9 21.5 9.4 22 10 22H14C14.6 22 15 21.5 15 21V20H9V21ZM12 2C8.1 2 5 5.1 5 9C5 11.4 6.2 13.5 8 14.7V17C8 17.5 8.4 18 9 18H15C15.6 18 16 17.5 16 17V14.7C17.8 13.4 19 11.3 19 9C19 5.1 15.9 2 12 2Z\" fill=\"#F2D23C\"\/><\/svg><\/div><div class=\"d-flex flex-column\"><div class=\"text-900 mb-12\">Things to know<\/div><p class=\"m-0\">Please note that the prompt is provided as an example, so feel free to customize it according to your specific needs.<\/p><\/div><\/div>\n\n\n\n<p>Paste the prompt into the Lovable input and click the arrow-shaped icon or the \u201c<strong>Enter<\/strong>\u201d button.&nbsp;<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"check-the-result\">Check the Result<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Here is the site we got: <a href=\"https:\/\/croc-showcase-hub.lovable.app\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/croc-showcase-hub.lovable.app\/<\/a>&nbsp;<\/p>\n\n\n\n<p>The list of sites is visible, along with the pagination.<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created-1024x640.webp\" alt=\"site is created \" class=\"wp-image-49288\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/site-is-created.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n\n\n\n<p>The pagination works properly \u2013 we can move between the pages.<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end-1024x640.webp\" alt=\"pagination works on the front end \" class=\"wp-image-49289\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end-1024x640.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end-300x188.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end-768x480.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end-1536x960.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end-600x375.webp 600w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/pagination-works-on-the-front-end.webp 1824w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/div>\n<\/div><\/div>\n\n\n\n<p>That\u2019s it. Now you know how to add pagination to a listing using the <em>JetEngine <\/em>WordPress plugin and Lovable builder.&nbsp;&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Discover how to add pagination to listings in Lovable. Utilize JetEngine Rest API endpoints to integrate WordPress data and create a user-friendly directory site.<\/p>\n","protected":false},"author":20,"featured_media":0,"template":"","format":"standard","builder-category":[],"article-category":[583],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Add Pagination to the Listing via Lovable \u2014 JetEngine | Crocoblock<\/title>\n<meta name=\"description\" content=\"Discover how to add pagination to listings in Lovable. Utilize JetEngine REST API endpoints to integrate WordPress data and create a user-friendly directory site.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Add Pagination to the Listing via Lovable \u2014 JetEngine | Crocoblock\" \/>\n<meta property=\"og:description\" content=\"Discover how to add pagination to listings in Lovable. Utilize JetEngine REST API endpoints to integrate WordPress data and create a user-friendly directory site.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/\" \/>\n<meta property=\"og:site_name\" content=\"Help Center\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-08T08:16:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-1024x640.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/\",\"name\":\"How to Add Pagination to the Listing via Lovable \u2014 JetEngine | Crocoblock\",\"isPartOf\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\"},\"datePublished\":\"2025-08-27T09:58:42+00:00\",\"dateModified\":\"2025-09-08T08:16:36+00:00\",\"description\":\"Discover how to add pagination to listings in Lovable. Utilize JetEngine REST API endpoints to integrate WordPress data and create a user-friendly directory site.\",\"breadcrumb\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/crocoblock.com\/knowledge-base\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/crocoblock.com\/knowledge-base\/articles\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Add Pagination to the Listing via Lovable\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/\",\"name\":\"Help Center\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/crocoblock.com\/knowledge-base\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#organization\",\"name\":\"Help Center\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg\",\"contentUrl\":\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg\",\"caption\":\"Help Center\"},\"image\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Add Pagination to the Listing via Lovable \u2014 JetEngine | Crocoblock","description":"Discover how to add pagination to listings in Lovable. Utilize JetEngine REST API endpoints to integrate WordPress data and create a user-friendly directory site.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/","og_locale":"en_US","og_type":"article","og_title":"How to Add Pagination to the Listing via Lovable \u2014 JetEngine | Crocoblock","og_description":"Discover how to add pagination to listings in Lovable. Utilize JetEngine REST API endpoints to integrate WordPress data and create a user-friendly directory site.","og_url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/","og_site_name":"Help Center","article_modified_time":"2025-09-08T08:16:36+00:00","og_image":[{"url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/08\/query-created-1-1024x640.webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/","url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/","name":"How to Add Pagination to the Listing via Lovable \u2014 JetEngine | Crocoblock","isPartOf":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#website"},"datePublished":"2025-08-27T09:58:42+00:00","dateModified":"2025-09-08T08:16:36+00:00","description":"Discover how to add pagination to listings in Lovable. Utilize JetEngine REST API endpoints to integrate WordPress data and create a user-friendly directory site.","breadcrumb":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-add-pagination-to-listing-via-lovable\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/crocoblock.com\/knowledge-base\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/crocoblock.com\/knowledge-base\/articles\/"},{"@type":"ListItem","position":3,"name":"How to Add Pagination to the Listing via Lovable"}]},{"@type":"WebSite","@id":"https:\/\/crocoblock.com\/knowledge-base\/#website","url":"https:\/\/crocoblock.com\/knowledge-base\/","name":"Help Center","description":"","publisher":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/crocoblock.com\/knowledge-base\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/crocoblock.com\/knowledge-base\/#organization","name":"Help Center","url":"https:\/\/crocoblock.com\/knowledge-base\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/","url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg","contentUrl":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg","caption":"Help Center"},"image":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article\/49282"}],"collection":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/users\/20"}],"wp:attachment":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/media?parent=49282"}],"wp:term":[{"taxonomy":"builder-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/builder-category?post=49282"},{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article-category?post=49282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}