Divi - Theme Options - Integration - Add code to the < body >
<script>
(function () {
var sidebarSel = ".et-vb-sidebar";
var btnSel = '.et-vb-modal-group-title[data-name="post-type-page"][role="button"]';
function isSidebarOpen(sidebar) {
if (!sidebar) return false;
var r = sidebar.getBoundingClientRect();
// If it's off-canvas (e.g., translateX), it'll usually be fully outside viewport
return r.width > 0 && r.height > 0 && r.right > 0 && r.left < window.innerWidth;
}
function isCollapsed(btn) {
var ae = btn.getAttribute("aria-expanded");
if (ae === "false") return true;
if (ae === "true") return false;
// fallback: check the next element (panel) if it exists
var panel = btn.nextElementSibling;
if (!panel) return true;
var cs = window.getComputedStyle(panel);
if (cs.display === "none" || cs.visibility === "hidden") return true;
if (panel.getBoundingClientRect().height < 2) return true;
return false;
}
function tryOpenPagesGroup() {
var sidebar = document.querySelector(sidebarSel);
if (!isSidebarOpen(sidebar)) return;
var btn = (sidebar && sidebar.querySelector(btnSel)) || document.querySelector(btnSel);
if (!btn) return;
// Only click if collapsed (prevents toggling it closed)
if (isCollapsed(btn)) btn.click();
}
// Run after interactions (opening sidebar, clicking builder UI, etc.)
function scheduleTry() {
// small retries to allow Divi to render the group list
setTimeout(tryOpenPagesGroup, 0);
setTimeout(tryOpenPagesGroup, 120);
setTimeout(tryOpenPagesGroup, 350);
}
// Any click/tap in the builder UI tends to coincide with opening the sidebar
document.addEventListener("pointerup", scheduleTry, true);
document.addEventListener("click", scheduleTry, true);
// Also when you hover/focus into the sidebar itself
document.addEventListener("pointerenter", function (e) {
if (e.target && e.target.closest && e.target.closest(sidebarSel)) scheduleTry();
}, true);
document.addEventListener("focusin", function (e) {
if (e.target && e.target.closest && e.target.closest(sidebarSel)) scheduleTry();
}, true);
// initial attempt (in case sidebar is already open)
scheduleTry();
})();
</script>
