Skip to main content

Translating buttons in your Juicer feed

Use juicer:feedLoaded and juicer:feedPaginated to translate the Load More and Read More buttons (and any other feed element) on both the classic embed and Feeds 2.0.

Written by Mario T.

Juicer's "Load More" and "Read More" buttons appear in English by default. You can swap them for any language by listening for Juicer's lifecycle events and rewriting the button text in a tiny JavaScript snippet. The snippets below work on both the classic embed and Feeds 2.0—the juicer:feedLoaded and juicer:feedPaginated events fire on both.

Translating the "Load More" button text

To change the text of the "Load More" button, paste this snippet after your Juicer embed code on the page:

<script type="text/javascript">
document.addEventListener('juicer:feedLoaded', () => {
setInterval(() => {
const btn = document.querySelector('.j-paginate');
if (btn) btn.textContent = "Load More in another Language";
}, 500);
});
</script>

Replace Load More in another Language with the exact translated version you want to display.

Translating the "Read More" link text

The "Read More" link appears on truncated posts when you use the truncate parameter in your embed code. To translate it, paste this snippet after your Juicer embed code and replace Read More in another Language with your desired phrase:

function translateReadMore() {
document.querySelectorAll('.j-read-more').forEach(function (link) {
link.textContent = 'Read More in another Language';
});
}
document.addEventListener('juicer:feedLoaded', translateReadMore);
document.addEventListener('juicer:feedPaginated', translateReadMore);
setInterval(translateReadMore, 1000);

How the snippets work

  • document.addEventListener('juicer:feedLoaded', …) waits for the feed's first load before running.

  • document.addEventListener('juicer:feedPaginated', …) runs again every time the user clicks Load More (or new posts arrive via auto-refresh).

  • setInterval(…, 500) polls every half-second as a safety net—useful when posts are re-rendered without a paginated event (for example after a moderation change).

  • document.querySelector('.j-paginate') and document.querySelectorAll('.j-read-more') find the buttons by their CSS class.

  • Assigning to textContent replaces the visible label without affecting other behavior.

Translating other feed elements

The same pattern works for any other element you want to translate—filter labels, empty-state text, post-count indicators, etc. The steps are:

  1. Inspect the element in your browser dev tools and identify its CSS class or ID.

  2. Select it with document.querySelector() or document.querySelectorAll().

  3. Update its textContent inside a juicer:feedLoaded / juicer:feedPaginated listener.

⚠️ Snippets must be inserted after your Juicer embed code on the page, on both standard websites and WordPress.

Did this answer your question?