it-swarm-id.com

Widget berbeda pada template halaman berbeda?

Jika saya memiliki beberapa templat Halaman yang berbeda, bagaimana cara memperlihatkan koleksi widget bilah sisi yang berbeda untuk masing-masing templat ini? Saya menggunakan tema Starkers sebagai titik awal.

4
cannyboy

Anda perlu membuat lebih banyak sidebar di file functions.php Anda dan kemudian mengedit templat halaman untuk memanggil sidebar yang Anda inginkan.

Menambahkan bilah sisi

Masuk ke file functions.php Anda. Anda akan melihat beberapa sidebar sudah terdaftar. Kode akan terlihat seperti ini:

//Adds default sidebar
 if ( function_exists('register_sidebar') )
 register_sidebar();

Untuk menambahkan sidebar lain, tambahkan kode berikut beberapa kali setelah pendaftaran sidebar yang ada.

//Registers new sidebar
if ( function_exists('register_sidebar') ) {
    register_sidebar(array('name' => 'Name Sidebar Here','before_widget' => '','after_widget' => '','before_title' => '<h2 class="widgettitle">','after_title' => '</h2>'));    
} 

Di mana tertulis 'Name Sidebar Here', letakkan nama logis untuk sidebar baru ini. Sisa array memungkinkan Anda untuk meletakkan HTML di depan widget (before_widget) jika tema Anda mengharuskan desain dan meletakkan HTML di belakang widget (after_widget). Selain itu, lebih umum digunakan dalam tema adalah gaya khusus untuk judul widget. Anda dapat meletakkan HTML itu sebelum judul (before_title) dan setelah judul (after_title). Pada contoh di atas, setiap judul widget akan memiliki <h2 class="widgettitle"> ditempatkan sebelum dan sesudahnya untuk menutup tag pembuka.

Tambahkan sidebar baru Anda ke templat halaman Anda

Sekarang Anda telah menambahkan sidebar, Anda harus meletakkannya di templat halaman di tempat yang Anda inginkan. Temukan di mana sidebar default dipanggil di dalam templat Anda (biasanya) dan ganti dengan yang berikut ini, di mana angkanya adalah urutan di mana sidebar ditambahkan dalam file functions.php.

<?phpif ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(Sidebar number here) ) : ?><?php endif; ?>

Bilah sisi ini adalah yang kedua ditambahkan dalam file functions.php, jadi untuk menyebutnya di templat halaman, Anda akan menempatkan 2 di dalam !dynamic_sidebar(Put sidebar number here) ).

Tambahkan widget

Setelah Anda menambahkannya ke templat halaman, tambahkan saja widget ke bilah sisi di Tampilan -> Halaman administrasi widget. Bilah sisi baru akan muncul di sana dengan nama yang Anda berikan di file functions.php.

Semoga ini membantu!

8
Joshua Lynch

Dan Widget Logic juga merupakan opsi.

3
ZaMoose
  1. Widget Logic adalah salah satu solusi - yang bagus juga.

  2. Beberapa sidebar adalah solusi yang lebih tangguh karena Anda dapat sepenuhnya menyesuaikan semua sebelum/sesudah _widget markup di functions.php. Belum lagi Anda dapat membuat sejumlah sidebar ini.

  3. Solusi yang lebih ringan mungkin hanya dengan menggunakan kelas tubuh untuk membedakan antara jenis halaman pada css. Sembunyikan hal-hal yang tidak Anda inginkan, tampilkan hal-hal yang Anda lakukan. Ini cara cepat dan sederhana untuk mewujudkan hal semacam itu.

1
eddiemoya

Solusi lain adalah Display-Widgets plugin, itu menambahkan menu dropdown di setiap widget yang telah Anda aktifkan di sidebar Anda di mana Anda dapat memilih halaman/posting mana yang akan ditampilkan atau disembunyikan.

1
Philip

dua opsi lain: 1. alih-alih membuat 'sidebar.php' semakin rumit, tambahkan sidebar widgetized baru ke file sidebar baru 'sidebar-xxx.php' dan kemudian di halaman templat gunakan

  1. anda dapat menggunakan widget kontekstual plugin
0
hannit cohen