Saya membuat layanan unggahan saya sendiri untuk situs web saya yang terpisah dari WP, tetapi menggunakan WP untuk menyediakan fungsi db tingkat rendah dan verifikasi pengguna. Untuk melakukan itu, saya memasukkan wp-load.php dalam skrip utama saya (Uploadify) tetapi melakukan itu tampaknya mengisi memori server dengan komponen yang tidak perlu. Berkat itu, saya melihat kesalahan pada skrip saya yang sepertinya menunjuk ke plugin WP yang diinstal.
Bagaimana saya bisa memuat hanya komponen WP inti dan mengabaikan plugin? Apakah ini mungkin?
Jawaban:
Menonaktifkan plugin sepenuhnya berarti Anda kehilangan banyak keuntungan.
Ada distribusi wordpress yang melangkah lebih jauh dan merobek posting dan tautan dll, tetapi mereka akan selalu tertinggal di belakang inti WordPress dan cenderung tidak bertahan selama.
Berikut beberapa hal yang bisa dilakukan
Init pendek
Menempatkan ini di wp-config.php Anda:
Atau mendefinisikannya di suatu tempat sebelum Anda memuat di wordpress, harus mengurangi proses memuat dan menariknya kembali ke fungsi inti minimal.
Instalasi ringan sekunder
Setup instalasi wordpress kedua, dengan hanya plugin dan tema yang Anda inginkan (jika ada). Kemudian konfigurasikan wp-config.php untuk menggunakan direktori dan nilai database wp-content yang sama.
Backpress
WordPress, BBpress asli dan glotpress di antaranya dibangun di sekitar perpustakaan BackPress. Anda dapat menggunakan ini alih-alih WordPress untuk melakukan pekerjaan Anda meskipun banyak API dan fitur mungkin hilang atau membutuhkan implementasi ulang / porting
Tabel opsi
Saya juga ingat bahwa WordPress memuat seluruh tabel opsi ke dalam memori untuk mengurangi kueri, jika Anda menyimpan nilai besar di sana, itu akan berdampak pada kinerja.
Keluar lebih awal
Anda juga dapat mencoba menghubungkan ke fungsi-fungsi sebelumnya dalam proses memuat WordPress dan keluar dari proses PHP sebelum WordPress selesai, tetapi saya tidak bisa memberi nasihat tentang seberapa aman itu nantinya.
Memuat plugin secara selektif
Ada juga artikel ini tentang memuat plugin secara selektif , tetapi memang membutuhkan peretasan ke file inti wordpress
sumber
Gunakan BackPress , tetapi saya memiliki perkembangan kecil, di mana saya menggunakan instalasi default dan sumber yang lebih kecil melalui const.
lihat di
wp-settings.php
Setel const SHORTINIT pada true di
wp-config.php
dan lihat fast run.define( 'SHORTINIT', TRUE );
Ini adalah file yang Anda dapatkan:
sumber
Untuk membuat
is_user_logged_in()
dancurrent_user_can()
bekerja, saya menemukan jawaban serupa di sini (Cant comment) Perbandingan ini cocok dengan jawaban di sini, seperti:Menggunakan
define('SHORTINIT', true)
+require('wp-load.php')
+ secara manual meliputi:Pageload: 1,05 sek - file yang disertakan: 43 file
Membandingkan: HANYA MENGGUNAKAN
require('wp-load.php')
:Pageload: 1,35 sek - file yang disertakan: 419 file
Itu ide yang baik untuk menggunakan panggilan relatif ke WP diinstal dir. Dari plugin khusus Wordpress "ROOT" seperti:
Kemudian di dalam index.php plugin saya:
Setelah ini, validasi pengguna berfungsi untuk saya. Terima kasih kepada @Anna Ericson kata-kata terakhir dari kode asli:
sumber
Sudahkah Anda mencoba
define('SHORTINIT', true);
? Saya belum mengujinya sendiri, tetapi tampaknya memuat sangat sedikit aspek WP core sambil mempertahankan fungsionalitas yang cukup, terutama jika semua yang Anda inginkan adalah berurusan dengan database.sumber