(Free) Portfolio 60 items limit

Description:

  • remove 60 items limit in Portfolio Page
  • update: 08-05-2026
  • This plugin has new version (free) here with more advanced features.

Solution: create 2 Portfolio Pages, then use code to merge second page into first page, with a View More button in bottom of first page

  • Works with Portfolio Grid Simple or Grid Overlay only.

Portfolio 60 items limit 1

#1. Install Code

First, suppose you have 2 Portfolio Pages with URL

  • First Portfolio page: /portfolio120items
  • Second Portfolio Page: /portfolio120itemsv2

Portfolio 60 items limit 2

#1.1. Business Plan/higher

Hover on First Portfolio Page > Click Gear icon

Portfolio 60 items limit 3

Click Advanced > Paste this code

<!-- @tuanphan - Portfolio 60 items limit -->
<script>
window.PortfolioConfig = {
  secondPageUrl: '/portfolio120itemsv2',
  initialDisplayCount: 60,
  loadMoreCount: 12,
  loadMoreText: 'View more items'
};
</script>
<script src="https://code.beaverhero.com/portfolio/portfolio60itemsv1.js"></script>

(free) portfolio 60 items limit 1

#1.2. Personal/Basic Plan

First, edit Site Footer

(free) portfolio 60 items limit 1

Add a Block

(free) portfolio 60 items limit 2

Choose Markdown

(free) portfolio 60 items limit 3

Paste this code into Markdown

<script>
window.PortfolioConfig = {
  secondPageUrl: '/portfolio120itemsv2',
  initialDisplayCount: 60,
  loadMoreCount: 12,
  loadMoreText: 'View more items'
};
</script>
<script src="https://code.beaverhero.com/portfolio/portfolio60itemsv1.js"></script>

(free) portfolio 60 items limit 4

#2. Usage

First, you need to update Second Portfolio Page URL in Line 04

secondPageUrl: '/portfolio120itemsv2',

Portfolio 60 items limit 5

Make sure you use Portfolio Grid Simple or Grid Overlay on both Portfolio Pages

Portfolio 60 items limit 6

#3. Customize

#3.1. To change View More items button text

Portfolio 60 items limit 7

You can change this line 07

Portfolio 60 items limit 8

#3.2. To adjust number of items initial – load more items, you can change line 05 + line 06

Portfolio 60 items limit 8

#3.3. To reduce space between Button – Portfolio List

Portfolio 60 items limit 9

You can use this code under plugin code

<style>
div#gridThumbs {
    padding-bottom: 30px;
}
button.btn {
    margin-bottom: 30px;
}
</style>

(free) portfolio 60 items limit 2

If you use Personal Plan, you can use this to Custom CSS box

div#gridThumbs { 
  padding-bottom: 30px; 
} 
button.btn { 
  margin-bottom: 30px; 
}

(free) portfolio 60 items limit 5

#3.4. For Developers

Some hooks

onItemsLoaded(items)
onItemShow(item, index)
onLoadMore(currentCount, totalCount)
onAllItemsShown(items)

an example

<script>
window.PortfolioConfig.hooks = {
    onItemsLoaded: function (items) {
        var ALLOWED_FILTERS = [
            'friday', 'saturday', 'sunday', 'music', 'comedy', 'kids', 'shows', 'fringe performances'
        ];
        function normalise(s) {
            return String(s || '').toLowerCase().trim();
        }
        function segsFromHref(href) {
            if (!href) return [];
            try {
                var parts = new URL(href, location.origin).pathname
                    .toLowerCase().replace(/\/+$/, '').split('/').filter(Boolean)
                    .map(function (p) { return normalise(p.replace(/-/g, ' ')); });
                return parts.filter(function (p) { return ALLOWED_FILTERS.indexOf(p) !== -1; });
            } catch (e) { return []; }
        }
        var activeSpan = document.querySelector('.portfolio-filter span.active');
        var activeFilter = activeSpan ? normalise(activeSpan.dataset.filter || 'all') : 'all';
        items.forEach(function (el) {
            if (el.hasAttribute('data-segs')) return;
            var href = el.getAttribute('href') || el.dataset.href || '';
            var segs = segsFromHref(href);
            el.setAttribute('data-segs', segs.join(','));
            if (activeFilter && activeFilter !== 'all') {
                if (segs.indexOf(activeFilter) === -1) {
                    el.classList.add('hidden');
                }
            }
        });
    }
};
</script>

 

Buy me a coffee