Butang “Edit with Page Builder Sandwich” Tidak Muncul
Jika anda tidak dapat melihat butang “Edit with Page Builder Sandwich” di bahagian frontend laman anda, berikut adalah beberapa perkara yang boleh anda cuba:
Pastikan Bar Pentadbir Anda Kelihatan
Butang edit untuk PB Sandwich tersedia di bar pentadbir dalam frontend anda. Pastikan bar pentadbir kelihatan dengan pergi ke bahagian pentadbiran anda dan menavigasi ke Pengguna > Profil Anda dan periksa semula bahawa kotak untuk Tunjukkan Bar Alat semasa melawat laman telah ditandakan.

Pastikan Anda Berada di Halaman, Siaran atau Jenis Siaran Tersuai
Hanya Siaran, Halaman & Jenis Siaran Tersuai boleh Diedit di Frontend. Anda hanya boleh mengedit kandungan di frontend jika anda boleh mengeditnya menggunakan editor kandungan WordPress di backend. Bahagian lain laman web anda – cth. senarai siaran blog di halaman utama, senarai semua siaran blog, penyenaraian kategori, halaman 404, halaman carian – ialah halaman dinamik yang dicipta oleh WordPress bersama-sama tema yang anda gunakan dan tidak boleh diedit menggunakan PB Sandwich.
Satu petunjuk sama ada laman web semasa boleh diedit atau tidak ialah jika anda dapat melihat butang “Sunting Siaran” atau “Sunting Halaman” pada bar pentadbir anda.
Pastikan Kandungan Anda Tidak Dijana Secara Dinamik oleh Tema atau Pemalam Anda
Jika halaman/siaran anda dijana secara dinamik oleh tema atau pemalam, ia tidak akan dapat diedit dengan Page Builder Sandwich (dan kemungkinan besar juga dalam pembina halaman lain). Jika anda dapati editor kandungan anda di backend kosong, tetapi apabila melihat halaman anda di frontend ia penuh dengan kandungan, maka ini merupakan petunjuk kukuh bahawa halaman anda dijana secara dinamik.
Untuk menyemak sama ada halaman anda dijana secara dinamik, lihat sumber halaman web anda (klik kanan dan kemudian pilih “Lihat Sumber Halaman”). Cari teks “pbs-main-wrapper”, jika anda tidak dapat melihat teks tersebut di mana-mana, maka halaman anda dijana secara dinamik.
Berikut ialah beberapa contoh kandungan yang dijana secara dinamik:
- Halaman anda terdiri daripada berbilang widget yang anda tambah/edit menggunakan Customizer,
- Halaman anda terdiri daripada halaman berbeza yang digabungkan bersama oleh tema “satu halaman” (dalam kes ini anda masih boleh mengedit halaman individu, tetapi bukan halaman gabungan), atau
- Halaman anda terdiri daripada siaran blog terkini.
Cuba Tambahkan Sedikit Kandungan Terlebih Dahulu
Terdapat situasi di mana tema tidak memaparkan kandungan langsung jika ia kosong, dan ini menyebabkan PBS tersilap menganggap bahawa halaman tersebut tidak boleh diedit. Untuk memeriksa sama ada ini puncanya, edit halaman/siaran anda dalam editor backend, cuba tambahkan sebarang teks dalam kandungan anda (contohnya “hello”), kemudian klik pada butang “Edit with Page Builder Sandwich” dari situ.
Terima kasih Mathias Hellquist untuk petua ini!
Pastikan Halaman Anda Tidak “Dimiliki” oleh Pembina Halaman Lain
Sesetengah pembina halaman memerlukan anda memilih sama ada untuk menggunakan editor kandungan lalai WordPress, atau editor pembina halaman itu sendiri. Jika anda telah mengedit halaman anda menggunakan pembina halaman lain, ada kemungkinan pembina halaman tersebut telah “menuntut” kandungan tersebut, dan cangkuk/penapis (hooks/filters) kandungan lain tidak lagi dapat dijalankan. Disebabkan ini, kadangkala Page Builder Sandwich tidak dapat mengesan di mana kandungan anda berada dan ia tidak akan memaparkan butang edit kerana tiada apa-apa untuk diedit.
Untuk membetulkannya, pilih sahaja untuk tidak menggunakan pembina halaman tersebut untuk halaman/siaran tertentu itu, dan pilih untuk hanya menggunakan editor kandungan lalai WordPress.
Pastikan Anda Mempunyai Keupayaan Mengedit pada Halaman Tersebut
Butang edit tidak akan muncul jika anda tidak boleh mengedit halaman tersebut. Contohnya, jika anda seorang editor atau penyumbang dan anda boleh menulis siaran blog dan artikel di laman tersebut, itu tidak semestinya bermakna anda boleh mengedit halaman utama atau halaman hubungi kami. Jika anda dapat melihat butang “Sunting Siaran” pada bar pentadbir anda, maka anda juga sepatutnya boleh mengeditnya menggunakan PB Sandwich. Minta keistimewaan mengedit daripada pentadbir laman anda jika anda memerlukannya.
Mungkin Terdapat Ralat Javascript yang Menghalang PB Sandwich daripada Berfungsi
PB Sandwich menggunakan Javascript secara meluas. Sekiranya terdapat ralat Javascript yang datang daripada skrip lain yang ada pada laman web anda, ini mungkin menghalang PB Sandwich daripada berfungsi. Untuk memeriksa sama ada ini berlaku, anda boleh membuka konsol pembangun dalam pelayar anda untuk memeriksa ralat.
Saya mengesyorkan menggunakan Chrome untuk langkah ini. Klik kanan pada apa-apa sahaja di halaman, kemudian klik pada pilihan “Periksa” (Inspect). Ini akan memaparkan kawasan baharu di bahagian bawah pelayar anda, klik pada tab “console”. Sekiranya anda mempunyai ralat, anda sepatutnya melihat sesuatu seperti ini:

Jika anda mendapati ralat, anda juga boleh mendapatkan petunjuk dari mana ia datang dengan mengklik atau mengarahkan tetikus anda ke atas nama skrip tersebut:

Ralat ini mungkin datang daripada tema anda atau pemalam lain yang anda gunakan. Memperbaiki ralat tersebut boleh membolehkan PB Sandwich berfungsi semula.
Jika tema anda atau salah satu pemalam anda menyebabkan ralat Javascript tersebut, sila maklumkan kepada kami melalui e-mel di [email protected] dan kami akan cuba sedaya upaya untuk menyelesaikan isu tersebut 🙂
Jika Anda Menggunakan CloudFlare, Pastikan Rocket Loader Dimatikan
CloudFlare ialah CDN DNS percuma yang digunakan secara meluas. Ia hebat, tetapi PBS pada masa ini menghadapi masalah berkaitan ciri Rocket Loader. Rocket Loader mempercepatkan masa muat fail Javascript, tetapi ia mengganggu kebergantungan dan urutan panggilan skrip PBS. Jika anda telah mengaktifkan Rocket Loader, butang edit untuk Page Builder Sandwich tidak akan muncul (dan tiada ralat konsol Javascript yang ditunjukkan).
Untuk menyemak sama ada laman anda menggunakan Rocket Loader CloudFlare, lihat sumber halaman web anda (klik kanan dan kemudian pilih “Lihat Sumber Halaman”), dan kemudian cari teks “rocketscript”, jika anda menjumpai teks tersebut maka Rocket Loader anda sedang diaktifkan.

Baca artikel tentang Keserasian CloudFlare & Rocket Loader untuk arahan penuh tentang cara mematikannya.
Saya Sudah Lakukan Semua Itu dan Butang Edit Masih Tiada!
Baiklah pada ketika ini, jika tiada satu pun penyelesaian di atas yang berkesan, mungkin sudah tiba masanya untuk menerangkan sebab ia tidak muncul dan apa yang perlu dilakukan mengenainya. Bersedia? Jom!
Puncanya “Mengapa” (dalam Istilah Bukan Teknikal)
Page Builder Sandwich perlu tahu di mana letaknya kandungan halaman/siaran anda. Kami melakukan ini dengan memantau bila WordPress memuatkan kandungan siaran dan “menandakan” kawasan tersebut, supaya apabila semuanya telah dimuatkan, kami dapat mencari di mana letaknya bahan yang dikehendaki.
Kadang-kadang, sesetengah pemalam mengatasi atau memintas proses ini dan sebaliknya cuba memuatkan kandungan dengan cara mereka sendiri. Kadangkala ini tidak menjadi masalah, tetapi dalam senario tertentu, terutamanya apabila melibatkan pemuatan kandungan siaran utama, ini mungkin menyebabkan beberapa pemalam berhenti berfungsi. Apabila pemalam lain memintas proses pemuatan ini, “tandaan” yang telah kami lakukan mungkin hilang, dan apabila tiba masanya untuk editor mula bertindak, ia tidak lagi dapat mencari di mana kandungan anda berada. Jadi, butang edit tidak muncul! Anda juga mungkin mendapati bahawa beberapa pemalam yang menambah kandungan pada halaman anda, seperti beberapa pemalam perkongsian sosial mungkin juga berhenti berfungsi kerana perkara yang sama ini.
Puncanya “Mengapa” (dalam Istilah Teknikal)
Page Builder Sandwich perlu tahu di mana kandungan halaman/siaran anda berada, dan ia melakukannya dengan menyangkuk ke penapis the_content dan menambah pembungkus di sekeliling kandungan utama anda. Sesetengah pemalam mungkin mengatasi ini dan sebaliknya menulis ganti kandungan dengan fungsi get_the_content() seterusnya dalam proses tersebut. Malangnya, tindakan ini menghalang SEMUA penapis the_content daripada dipanggil dan oleh itu pembungkus PBS hilang. Sebarang perubahan pemalam lain juga akan hilang.
Secara hakikatnya tiada masalah dengan penggunaan get_the_content() itu sendiri, tetapi mungkin terdapat kesan buruk jika ini digunakan dalam pertanyaan utama dan di dalam halaman templat siaran tunggal dan bukannya panggilan biasa the_content() di mana semua penapis the_content dijalankan.
Apa yang Perlu Dilakukan Mengenainya
Anda boleh menyemak sama ada “tandaan” Page Builder Sandwich tiada dengan melawati halaman/siaran anda di frontend dan melihat sumber halaman semasa log masuk. Cari di celah-celah kod tersebut sama ada anda boleh menjumpai rentetan:
data-name="main-content"
Jika anda boleh menemuinya, maka mungkin terdapat masalah Javascript di suatu tempat dan maklumkan sahaja kepada kami tema dan pemalam yang anda gunakan dan kami boleh membetulkannya.
Tetapi jika anda tidak menemuinya, maka kemungkinan besar tema anda (atau pemalam, tetapi berkemungkinan besar tema jika ia adalah halaman atau siaran blog) sedang melakukan sesuatu dengan kandungan siaran tersebut. Jika ini berlaku, anda harus menghubungi pengarang tema dan memberitahu mereka tentang masalah tersebut! Anda juga boleh menunjukkan kepada mereka penjelasan teknikal “mengapa” di atas, ini boleh membantu dalam penyahpepijatan 🙂
Jika anda berasa yakin untuk mengutak-atik PHP, anda boleh cuba membetulkannya dengan mencari fail templat yang mengendalikan kandungan siaran. Satu penyelesaian yang kami temui adalah dengan menggantikan panggilan untuk:
$content = get_the_content();
dengan:
ob_start();
the_content();
$content = ob_get_clean();<br>
Nota: Pembolehubah PHP mungkin berbeza pada bahagian anda, tetapi konsepnya haruslah sama. Jika ia berfungsi, maka lebih baik juga jika anda boleh mencipta tema anak (child theme) daripada melaksanakan perubahan ini dalam tema anda secara langsung. Mungkin terdapat juga kesan sampingan disebabkan perubahan tersebut, jadi lebih baik jika anda berunding dengan pengarang tema anda mengenai perkara ini.