Bagaimana saya mewakili 'potongan' konten dalam Wordpress?

10

Saya hanya pernah menggunakan wordpress sebagai platform blogging mandiri - sampai sekarang. Saya memiliki persyaratan untuk menggunakannya untuk CMS yang sangat dasar yang akan terdiri dari ~ 10 halaman, yang sebagian besar akan menjadi konten statis, diperbarui secara berkala. Saya akan perlu kemampuan untuk mengunggah dokumen, menanamkan gambar, mengedit salinan menggunakan editor teks - cukup banyak semua fitur standar yang ditawarkan wordpress.

Namun, saya mengalami kesulitan seputar masalah pengeditan bagian tertentu dalam halaman - khususnya, hanya tahu harus mulai dari mana. CMS 'normal' secara tradisional akan memecah halaman menjadi bagian-bagian terpisah dan memungkinkan saya untuk mengedit bagian mana pun, baik dengan secara langsung mengedit konten, atau dengan memasukkan konten bersama di tempat itu. Saya tidak dapat menemukan cara melakukan ini menggunakan wordpress.

Apakah mungkin untuk 'meregangkan' model Halaman sehingga Halaman sebenarnya hanya sepotong konten, itu akan dimasukkan oleh halaman / templat tertentu, dan itu - entah bagaimana - dilindungi dari dilihat secara langsung (menghapusnya dari menu navigasi menjadi sebuah Mulailah).

Adakah petunjuk di mana untuk memulai?

Memperbarui

Untuk memperjelas, bayangkan posting blog wordpress standar. Berpura-puralah itu adalah konten statis. Misalkan Anda ingin seorang editor dapat mengubah hanya paragraf pertama dari posting blog itu. Sekarang,

  • haruskah konten statis pada halaman itu ada di dalam Posting, Halaman, Templat, atau yang lainnya?
  • haruskah konten yang dapat diedit menjadi Halaman, ... atau yang lain?

Sebagai contoh:

<h1>About us</h1>

<p>Example.com is a company specialising in examples, demonstrations,
and canonical stuff.</p>

Jika saya ingin paragraf itu dapat diedit, mungkin saya perlu sesuatu seperti:

<h1>About us</h1>

<p><?php insert_page('name-of-content-chunk'); ?></p>

Perbarui 2

Oke, setelah banyak penelitian, percobaan, dan kesalahan, saya memasukkan yang berikut:

  1. Wordpress tidak diatur untuk dengan mudah mereplikasi CMS klasik, khususnya yang berkaitan dengan memiliki beberapa konten pada satu halaman.
  2. Model ini dapat ditiru, lebih atau kurang, menggunakan pos khusus (lihat di bawah)
  3. Namun, hampir semua halaman menawarkan kemampuan untuk melakukan hal ini:
    • Diperlukan plugin untuk menyertakan halaman
    • Halaman sepertinya tidak sefleksibel posting - mis. Tidak ada tipe halaman kustom

Metode yang saya gunakan, menggunakan jenis posting kustom, secara luas sebagai berikut:

  1. Halaman ini adalah 'Halaman' dengan templat khusus - sebut saja 'mypage.php'
  2. Template itu berisi yang berikut ini:
    <div id = "header">
      <? php
        query_posts (array ('name' => 'foo', 'post_type' => 'header-text'));
        get_template_part ('header-text');
      ?>
    </div>
    
    <div id = "content">
      <p> Beberapa salinan statis di templat yang bisa
      hanya dapat diubah oleh administrator situs. </p>
    
      <? php
        query_posts (array ('name' => 'bar', 'post_type' => 'image'));
        get_template_part ('image');
      ?>
    </div>
    

Apakah itu masuk akal bagi siapa pun di luar sana? :-)

Bobby Jack
sumber
Pertanyaan-pertanyaan Wordpress baik-baik saja di sini, kecuali mereka terlalu banyak mempelajari pemrograman.
Tim Post

Jawaban:

3

Seperti yang disebutkan tnorthcutt, Anda mungkin ingin menggunakan jenis posting khusus . Namun, Anda juga harus melihat bidang khusus , yang memungkinkan Anda menentukan bit data khusus dinamis yang ingin Anda kaitkan dengan setiap halaman. Inilah tutorial Smashing Magazine tentang bidang khusus, tuturial Nettuts (dan video ), dan daftar tutorial lainnya.


sumber
Saya akan melihat jenis posting khusus. Masalah dengan bidang khusus, jika saya memahaminya dengan benar, adalah bahwa, paling buruk, itu hanya teks biasa, dan yang terbaik, mereka tidak menawarkan pengeditan WYSIWYG.
Bobby Jack 4-10
Sebaiknya pastikan Anda juga mengenal taksonomi khusus, dan cara kerjanya dengan jenis pos kustom.
Travis Northcutt
1

Jika saya mengerti dengan benar, Anda ingin memiliki tata letak yang berbeda untuk halaman yang berbeda. Anda dapat mencapai ini dengan memiliki templat khusus untuk setiap halaman situs atau dengan memiliki satu halaman khusus, dengan berbagai kondisi.
Untuk opsi pertama, lihat bagian WordPress Codex mengenai halaman templat kustom: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

Untuk yang kedua, lihat tutorial ini: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/

Kemudian, Anda dapat memindahkan "potongan" ini ke file PHP berbeda yang Anda sertakan di halaman spesifik Anda.


sumber
Hmm ... Saya akan melihat tautannya, tapi saya tidak sepenuhnya yakin saya sudah menjelaskannya dengan baik. Pada dasarnya, saya perlu bekerja dengan konten yang paling 'atom'; sesuatu yang setiap CMS lain saya gunakan membuatnya sangat mudah. Saya telah memperbarui pertanyaan dalam upaya untuk menjelaskannya dengan lebih baik.
Bobby Jack
Jika Anda ingin konten menjadi statis (dan dengan statis maksud saya HTML biasa tidak disajikan dari DB - seperti posting wordpress) tetapi Anda masih ingin memodifikasinya, kemudian tambahkan potongan ke template. Kalau tidak, letakkan di halaman dan hanya itu.
dan jika saya ingin potongan-potongan itu menjadi WYSIWYG-dapat diedit?
Bobby Jack 4-10
1

Lihatlah plugin seperti Magic Fields. Ini menggunakan Bidang Kustom secara internal, tetapi antarmuka dapat memiliki editor teks yang kaya, daftar drop-down, dll.

Ini memungkinkan Anda untuk mendefinisikan elemen konten Anda, jenisnya dan (untuk pilihan) nilainya. Kemudian, tema Anda dapat menampilkannya.

Alternatif, adalah memiliki area plugin yang ditentukan dan memutuskan plugin apa yang akan masuk ke sana. Itu kurang fleksibel, karena masih tidak memungkinkan untuk dua halaman / memposting konten tertentu.

Alexandre Rafalovitch
sumber
1

Plugin terbaik untuk menambahkan area konten kustom tanpa rasa sakit di luar judul dan konten mungkin adalah plugin "More Fields".


sumber