Saya ingin membuat halaman khusus untuk blog WordPress saya yang akan mengeksekusi kode PHP saya di dalamnya, sambil tetap menjadi bagian dari keseluruhan situs CSS / tema / desain.
Kode PHP akan menggunakan API pihak ketiga (jadi saya harus memasukkan file PHP lainnya).
Bagaimana saya mencapai ini?
NB: Saya tidak memiliki kebutuhan khusus untuk berinteraksi dengan WordPress API - selain termasuk perpustakaan PHP tertentu lainnya, saya perlu saya tidak memiliki dependensi lain dalam kode PHP yang ingin saya sertakan dalam halaman WordPress. Jadi jelas setiap solusi yang tidak memerlukan pembelajaran API WordPress akan menjadi yang terbaik.
Jawaban:
Anda tidak perlu berinteraksi dengan API atau menggunakan plugin.
Pertama, duplikat
post.php
ataupage.php
di folder tema Anda (di bawah/wp-content/themes/themename/
).Ubah nama file baru sebagai
templatename.php
(di mana templatename adalah apa yang ingin Anda sebut template baru Anda). Untuk menambahkan template baru Anda ke daftar template yang tersedia, masukkan berikut ini di bagian atas file baru:Anda dapat memodifikasi file ini (menggunakan PHP) untuk memasukkan file lain atau apa pun yang Anda butuhkan.
Kemudian buat halaman baru di blog WordPress Anda, dan di layar pengeditan halaman Anda akan melihat dropdown Template di widget Atribut di sebelah kanan. Pilih template baru Anda dan terbitkan halamannya.
Halaman baru Anda akan menggunakan kode PHP yang didefinisikan dalam
templatename.php
Sumber: Membuat Template Halaman Kustom untuk Penggunaan Global
sumber
Jika Anda ingin membuat file .php Anda sendiri dan berinteraksi dengan WordPress tanpa 404 header dan menjaga struktur permalink Anda saat ini, tidak perlu file template untuk satu halaman itu.
Saya menemukan bahwa pendekatan ini berfungsi paling baik, dalam file .php Anda:
Kemudian Anda bisa melakukan fungsi WordPress apa saja setelah ini. Juga, ini mengasumsikan bahwa file .php Anda berada di dalam root situs WordPress Anda di mana
wp-config.php
file Anda berada.Bagi saya, ini adalah penemuan yang tak ternilai karena saya menggunakan
require_once(dirname(__FILE__) . '/wp-blog-header.php');
untuk waktu yang paling lama karena WordPress bahkan memberi tahu Anda bahwa ini adalah pendekatan yang harus Anda gunakan untuk mengintegrasikan fungsi WordPress, kecuali, itu menyebabkan 404 header, yang aneh bahwa mereka ingin Anda menggunakan pendekatan ini. Mengintegrasikan WordPress dengan Situs Web AndaSaya tahu banyak orang telah menjawab pertanyaan ini, dan itu sudah memiliki jawaban yang diterima, tetapi di sini ada pendekatan yang bagus untuk file .php di dalam root situs WordPress Anda (atau secara teknis di mana saja Anda inginkan di situs Anda), yang dapat Anda jelajahi untuk memuat tanpa 404 header!
Pembaruan: Ada cara untuk menggunakan
wp-blog-header.php
tanpa 404 header, tetapi ini mengharuskan Anda menambahkan header secara manual. Sesuatu seperti ini akan bekerja di root instalasi WordPress Anda:Hanya untuk memperbarui Anda semua tentang ini, sedikit kode yang diperlukan untuk pendekatan ini, tetapi terserah Anda yang mana yang Anda gunakan.
sumber
wp-activate.php
harus menonaktifkan 404 header dengan menetapkan$wp_query->is_404 = false
ketika mengaktifkan multisite baru menggunakanrequire( dirname( __FILE__ ) . '/wp-blog-header.php' );
di bagian atas halaman ini.wp-blog-header.php
pendekatan seperti yang didefinisikan pada codex.wordpress.org/Integrating_WordPress_with_Your_Website daripada melihat header 404 di alat inspektur browser Anda.Jika Anda seperti saya, kadang-kadang Anda ingin bisa merujuk fungsi WordPress di halaman yang tidak ada di CMS. Dengan cara ini, itu tetap khusus backend dan tidak dapat secara tidak sengaja dihapus oleh klien.
Ini sebenarnya mudah dilakukan hanya dengan memasukkan
wp-blog-header.php
file menggunakan PHPrequire()
.Berikut adalah contoh yang menggunakan string kueri untuk menghasilkan data Facebook Open Graph (OG) untuk setiap posting.
Ambil contoh tautan seperti di
http://example.com/yourfilename.php?1
mana1
ID pos yang ingin kami hasilkan data OG:Sekarang dalam konten
yourfilename.php
yang, untuk kenyamanan kita, terletak di direktori WordPress root:Itu dia: model berbagi yang dihasilkan untuk setiap posting menggunakan gambar, kutipan, dan judul sebenarnya dari posting!
Kami dapat membuat templat khusus dan mengedit struktur permalink untuk melakukan ini, tetapi karena itu hanya diperlukan untuk satu halaman dan karena kami tidak ingin klien menghapusnya dari dalam CMS, ini sepertinya merupakan opsi bersih.
EDIT 2017: Harap dicatat bahwa pendekatan ini sekarang sudah usang
Untuk instalasi WordPress dari 2016+ silakan lihat Bagaimana saya bisa menambahkan halaman PHP ke WordPress? untuk parameter tambahan untuk disertakan sebelum mengeluarkan data halaman Anda ke browser.
sumber
Membuat halaman templat adalah jawaban yang benar. Untuk ini, tambahkan saja ini ke halaman yang Anda buat di dalam folder tema:
Untuk menjalankan kode ini, Anda harus memilih "mytemplate" sebagai templat halaman dari bagian belakang.
Silakan lihat tautan ini untuk mendapatkan detail yang benar https://developer.wordpress.org/themes/template-files-section/page-template-files/ .
sumber
Jawaban apa pun tidak mencakup jika Anda perlu menambahkan halaman PHP di luar Tema WordPress. Inilah caranya.
Anda harus memasukkan wp-load.php.
Kemudian Anda dapat menggunakan fungsi WordPress apa pun di halaman itu.
sumber
require_once('wp-load.php');
dengan benarBuat halaman menyebutnya my-page.php dan simpan di bawah direktori tema Anda. Sekarang, edit file php ini dan tulis baris berikut di bagian atas halaman
Tulis kode PHP Anda di bawah baris definisi halaman kustom, Anda dapat memanggil template WP Anda yang lain, fungsi di dalam file ini.
Mulai seperti
<?php require_once("header.php");?>
ATAUapa pun cara Anda mengintegrasikan header dan footer Anda untuk menjaga tata letak konsisten.
Karena ini adalah halaman saya, Anda PERLU MENCIPTAKAN HALAMAN dari panel admin WordPress. Pergi ke Admin => Halaman => Tambah Baru
Tambahkan judul halaman, tergantung pada bagaimana Anda mengkodekan halaman kustom, Anda mungkin menambahkan tubuh halaman (deskripsi) juga. Anda dapat melewatkan deskripsi sepenuhnya jika itu ditulis di halaman php khusus.
Di sebelah kanan, pilih Templat. Pilih Halaman Kustom Saya dari dropdown. Anda sudah siap! Pergi ke siput (permalink) yang dibuat oleh [wordpress] [1] dan lihat halaman.
sumber
Cara terbaik untuk menambahkan halaman PHP di WordPress ke
Page Template
dalamchild-theme
folder.Cara membuatnya
Page Template
di WordPress.Buat file dengan nama
template-custom.php
dan masukkan/wp-content/theme/my-theme/
.Untuk lebih jelasnya
sumber
Anda akan ingin melihat ke API plugin WordPress.
Ini menjelaskan cara "menghubungkan" dan "memfilter" ke berbagai bagian mekanika WordPress, sehingga Anda dapat mengeksekusi kode PHP khusus hampir di mana saja pada waktu tertentu. Pengait, pemfilteran, dan penulisan kode khusus ini semua dapat terjadi di file functions.php Anda di salah satu tema Anda. Selamat coding :)
sumber
Jika Anda tidak ingin berurusan dengan API WordPress, maka jawaban Adam adalah yang terbaik.
Jika Anda bersedia berurusan dengan API, saya sarankan menghubungkan ke kait "template-redirect", yang akan memungkinkan Anda untuk mengarahkan URL atau halaman tertentu ke file PHP sewenang-wenang sementara masih memiliki akses ke WordPress.
sumber
Jawaban yang diterima secara luas oleh Adam Hopkinson bukanlah metode yang sepenuhnya otomatis untuk membuat halaman! Dibutuhkan pengguna untuk secara manual membuat halaman di bagian belakang WordPress (di dasbor wp-admin). Masalahnya, plugin yang bagus harus memiliki pengaturan otomatis sepenuhnya. Seharusnya tidak mengharuskan klien untuk membuat halaman secara manual.
Juga, beberapa jawaban lain yang diterima secara luas di sini melibatkan pembuatan halaman statis di luar WordPress, yang kemudian hanya menyertakan beberapa fungsi WordPress untuk mencapai header dan footer bertema. Meskipun metode itu dapat berfungsi dalam beberapa kasus, ini dapat membuat mengintegrasikan halaman-halaman ini dengan WordPress menjadi sangat sulit tanpa menyertakan semua fungsinya.
Saya pikir pendekatan terbaik, sepenuhnya otomatis, akan membuat halaman menggunakan
wp_insert_post
dan memilikinya berada di database. Contoh dan diskusi hebat tentang itu, dan bagaimana mencegah penghapusan halaman oleh pengguna secara tidak disengaja, dapat ditemukan di sini: wordpress-otomatis-membuat-halamanTerus terang, saya terkejut pendekatan ini belum disebutkan sebagai jawaban untuk pertanyaan populer ini (telah diposting selama 7 tahun).
sumber
Coba ini:
sumber
Selain membuat file templat khusus dan menetapkan templat itu ke laman (seperti pada contoh dalam jawaban yang diterima), ada juga cara dengan konvensi penamaan templat yang digunakan WordPress untuk memuat templat (hierarki templat).
Buat halaman baru dan gunakan siput halaman itu untuk nama file templat (buat file templat bernama halaman- {slug} .php ). WordPress akan secara otomatis memuat template yang sesuai dengan aturan ini.
sumber
Cukup buat
page-mytitle.php
file ke folder tema saat ini, dan dari Dashboard halaman "mytitle" .Kemudian ketika Anda memohon halaman dengan URL Anda akan melihat halaman-mytitle.php. Anda harus menambahkan HTML, CSS, JavaScript, wp-loop, dll ke file PHP ini (
page-mytitle.php
).sumber
sumber
sumber
Anda dapat memberi nama file Anda "newpage.php" - letakkan di direktori tema Anda di
wp-content
. Anda dapat menjadikannya templat halaman (lihat http://codex.wordpress.org/Pages .. ) atau Anda dapat memasukkannya ke dalam salah satu file PHP dalam tema Anda, seperti header.php atau single.php.Lebih baik lagi, buat tema anak dan letakkan di sana, sehingga Anda meninggalkan kode tema Anda sendiri, dan lebih mudah untuk memperbarui.
http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
sumber
Anda juga dapat langsung menggunakan halaman PHP, seperti membuat halaman PHP dan menjalankannya dengan path lengkap.
Seperti, http: //localhost/path/filename.php
sumber