it-swarm-eu.dev

Mohu nastavit všechny výchozí stránky, které mají být vytvořeny při každém vytvoření nového blogu

Stránky jako „o“ budou vytvořeny automaticky při vytvoření nového blogu. Stejně tak potřebuji nějaké další stránky, které by se měly objevit automaticky, když je vytvořen blog pod mými vícemístnými stránkami.

Jak mohu konfigurovat výchozí stránky, které mají být vytvořeny s novým blogem pod více místy?

Například: Pokud mám více míst na example.com. Každý blog vytvořený v rámci tohoto webu by měl mít domovskou stránku, adresu Moje úložiště, Moje adresu.

6
user391

Doporučuji vytvořit ve vašem souboru function.php funkci, která se váže na akční háček activate_blog. Pomocí funkcí WordPress get_pages () zjistíte, zda existují vaše výchozí stránky. Pokud ne, vytvořte je pomocí wp_insert_post .

add_action('activate_blog','my_default_pages');

function my_default_pages(){
    $default_pages = array('About','Home','My Store','My Address');
    $existing_pages = get_pages();

    foreach($existing_pages as $page){
        $temp[] = $page->post_title;
        }


    $pages_to_create = array_diff($default_pages,$temp);

    foreach($pages_to_create as $new_page_title){

            // Create post object
            $my_post = array();
            $my_post['post_title'] = $new_page_title;
            $my_post['post_content'] = 'This is my '.$new_page_title.' page.';
            $my_post['post_status'] = 'publish';
            $my_post['post_type'] = 'page';



            // Insert the post into the database
            $result = wp_insert_post( $my_post );

        }
        }

Chcete-li tuto funkci otestovat na svých vlastních stránkách, zkuste nastavit háček na wp_head. Spustí se na každém načtení stránky a vloží stránky, které neexistují, s obsahem v $ my_post ['post_content']. * Má háček 'aktivovat_blog' běžet, když jsou vytvořeny blogy v kontextu více stránek? Nevím.*

Úplný seznam výchozích parametrů, které jsou k dispozici, naleznete na stránce s kódem pro wp_insert_post, na kterou jsem odkazoval.

12
kevtrout

místo "aktivovat_blog" použijte "wpmu_activate_blog". fungovalo to pro mě. dík

2
user2325