it-swarm.asia

Her yeni blog günlüğünde oluşturulacak bazı varsayılan sayfalar belirleyebilir miyim

Yeni bir blog oluşturulduğunda "about" gibi sayfalar otomatik olarak oluşturulacaktır. Aynı şekilde multisitesimin altında bir blog oluşturulduğunda otomatik olarak görünmesi gereken başka sayfalara da ihtiyacım var.

Multisite altındaki yeni bir blog ile oluşturulacak varsayılan sayfaları nasıl yapılandırabilirim?

Örneğin: example.com üzerinde bir çoklu alan varsa. Bu site altında oluşturulan her blog Giriş, Hakkında, Mağazam, Adresim olmalıdır.

6
user391

Functions.php dosyasında activate_blog eylem kancasına bağlı bir işlev oluşturmanızı öneririz. Varsayılan sayfalarınızın olup olmadığını görmek için WordPress işlevlerini kullanın get_pages () . Olmazsa, onları wp_insert_post ile oluşturun.

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 );

        }
        }

Bu işlevi kendi sitenizde test etmek için kancayı wp_head olarak ayarlamayı deneyin. Her sayfa yüklendiğinde çalışacak ve bulunmayan sayfaları, $ my_post ['post_content'] içindeki içerikle birlikte ekleyecektir. * Bloglar çok siteli bir bağlamda oluşturulduğunda 'activate_blog' kancası çalışıyor mu? Bilmiyorum.*

Mevcut varsayılan parametrelerin tam listesi için bağlandığım wp_insert_post kodeksi sayfasına bakın.

12
kevtrout

"activate_blog" yerine "wpmu_activate_blog" kullanın. benim için çalıştı. Teşekkürler

2
user2325