PHP i JS to w ogóle dwa różne światy... Musisz zastanowić się jak chcesz zrobić architekturę tego CMS, czy ma to być monolit w PHP z szablonami server-side czy bardziej nowoczesne rozwiązanie z oddzielonym API i frontem. Ja preferuję drugi wariant, czyli robisz sobie różne endpointy w back-endzie, np. do zapisu posta, odczytu posta, pobrania listy postów itp. itd. i do tego niezależny front (np. w Angular) który strzela do tych endpointów i odpowiednio obrabia dane.
Na froncie możesz wtedy fajnie porobić sobie różne warianty, np. jeden serwis obsługujący pobieranie artykułów i ich zapis, a dokładniej obsługujący te endpointy w API, i do niego kilka do wyboru komponentów prezentacyjnych. Wystarczy wtedy, że będziesz trzymał się jednego interfejsu danych dla wszystkich komponentów i masz ładną możliwość wybierania rodzaju prezentacji postów (oczywiście tak tylko dla przykładu piszę o postach, np. na blogu). Jeśli zechcesz zmienić wygląd posta to po prostu użyjesz innego komponentu, a serwis i API zostają nie naruszone.
Druga zaleta to łatwiejszy development...robisz sobie jedno repo z API i jedno z frontem i zupełnie niezależnie je rozwijasz. Możesz np. łatwo wydawać nowe wersje api lub frontu, łatwo też zarządzać wersjami itp.