I have a WPMU instance that works less like a network of blogs and more like a holistic application. I’m needing to do a check and see if 3 pages with the slugs ‘home’, ‘login’, and ‘password’ exist. If not, I need the system to generate them automatically. If it does, I need the system to ignore.
Right now I have the following code, and for some reason it is generating 5 posts each time a page is loaded. Anyone have advice on how I could better accomplish this?
function check_pages_live(){
if(get_page_by_title( 'home', page ) != NULL) {
create_pages_fly('home');
}
if(get_page_by_title( 'login', page ) != NULL) {
create_pages_fly('login');
}
if(get_page_by_title( 'password', page ) != NULL) {
create_pages_fly('password');
}
}
add_action('init','check_pages_live');
function create_pages_fly($pageName) {
$createPage = array(
'post_title' => $pageName,
'post_content' => 'Starter content',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page',
'post_name' => $pageName
);
// Insert the post into the database
wp_insert_post( $createPage );
}