Skip to content

Instantly share code, notes, and snippets.

@1forh
Created December 23, 2022 15:56
Show Gist options
  • Save 1forh/57c44ee7ebdc3eb98c2816d6d6c2673d to your computer and use it in GitHub Desktop.
Save 1forh/57c44ee7ebdc3eb98c2816d6d6c2673d to your computer and use it in GitHub Desktop.
Rewriting CMS URLS
export const formatWordPressUrlsInString = (str: string): string => {
if (!str) return '';
// from wizzy fields
const pageExp = `${process.env.NEXT_PUBLIC_WP_URL}/hoops_page`;
const postExp = `${process.env.NEXT_PUBLIC_WP_URL}/hoops_`;
const videoExp = `${process.env.NEXT_PUBLIC_WP_URL}/hoops_video`;
const teamExp = `${process.env.NEXT_PUBLIC_WP_URL}/hoops_team`;
const pageRegExp = new RegExp(pageExp, 'g');
const postRegExp = new RegExp(postExp, 'g');
const videoRegExp = new RegExp(videoExp, 'g');
const teamRegExp = new RegExp(teamExp, 'g');
// menu links
const menuLinkPageExp = '/hoops_page';
const menuLinkPostExp = '/hoops_';
const menuLinkTeamExp = '/hoops_team';
const menuLinkVideoExp = '/hoops_video';
const menuLinkPageRegExp = new RegExp(menuLinkPageExp, 'g');
const menuLinkPostRegExp = new RegExp(menuLinkPostExp, 'g');
const menuLinkTeamRegExp = new RegExp(menuLinkTeamExp, 'g');
const menuLinkVideoRegExp = new RegExp(menuLinkVideoExp, 'g');
// remove trailing slash
const trailingSlashExp = /\/$/;
const trailingSlashRegExp = new RegExp(trailingSlashExp, 'g');
return str
.replace(pageRegExp, '')
.replace(teamRegExp, '/teams')
.replace(videoRegExp, '/watch')
.replace(postRegExp, '/')
.replace(menuLinkPageRegExp, '')
.replace(menuLinkTeamRegExp, '/teams')
.replace(menuLinkVideoRegExp, '/watch')
.replace(menuLinkPostRegExp, '/')
.replace(trailingSlashRegExp, '');
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment