Saya mencoba membangun tema yang membutuhkan halaman tertentu untuk disertakan. Apakah ada cara untuk secara otomatis membuat halaman dan menetapkannya ke template halaman mereka ketika sebuah tema diinstal?
theme-development
pages
installation
JonnyPlow
sumber
sumber
Jawaban:
Tautan sebelumnya rusak. :(
Cara standar adalah via
wp_insert_post
. Anda mendapatkan banyak informasi tentang WP Codex: http://codex.wordpress.org/Function_Reference/wp_insert_postsumber
Saya mendapat situasi serupa di mana saya perlu menambahkan halaman pada aktivasi tema dan menjadikannya sebagai beranda secara otomatis.
Begini cara saya melakukannya:
Semoga ini bisa membantu seseorang.
Memperbarui:
Terima kasih Maruti Mohanty .
sumber
Ini praktik buruk. Tema adalah untuk presentasi, mereka visual, mereka tidak boleh mendikte konten yang sebenarnya. Jika mereka melakukannya, maka Anda salah melakukannya dan kode Anda akan lebih baik sebagai plugin.
Namun, jika tema Anda memiliki pengaturan konten yang 'dimaksudkan', Anda tidak boleh membuat halaman / konten secara otomatis, Anda tidak boleh ikut campur dengan konten pengguna sama sekali, Anda bisa melanggar hal-hal lain.
Alih-alih, izinkan pengguna untuk memilih halaman mana yang harus digunakan, dengan cara yang sama pengaturan memungkinkan Anda untuk memilih halaman statis alih-alih posting terbaru, dan bagaimana plugin seperti Woocommerce atau Jigoshop memungkinkan Anda memilih halaman mana yang merupakan halaman checkout dll (yaitu plugin, tidak apa-apa bagi mereka untuk membuat halaman seperti itu).
Bagaimanapun ini menunjukkan kelemahan mendasar dalam pendekatan Anda untuk membangun tema Anda (atau Anda sedang membangun sesuatu untuk klien, dan telah memutuskan untuk membuatnya mudah bagi mereka untuk menginstal, menciptakan lebih banyak pekerjaan untuk Anda, sedangkan Anda akan lebih baik menawarkan untuk pasang sendiri untuk biaya, yang akan lebih menguntungkan).
Jika Anda cukup bodoh untuk benar-benar mencobanya ...
Lihat http://codex.wordpress.org/Function_Reference/wp_insert_post
Tapi, Anda perlu memeriksa setiap 'init' untuk melihat apakah halaman ada. Jika mereka tidak membuatnya, dan perbarui opsi di suatu tempat sehingga Anda ingat mereka telah dibuat dan tidak memeriksa waktu berikutnya, jika tidak, Anda akan berakhir dengan lebih banyak halaman yang dibuat pada setiap pemuatan halaman.
sumber
Menggunakan kode dalam jawaban ini dan
wp_insert_post
saya temukan di tema ini .sumber