Saya perlu menampilkan posting populer & terkini di situs web PHP lain di bawah domain yang sama.
Contoh:
www.example.com
-> situs web utama (php, mysql)www.example.com/blog
-> blog WordPress
Perlu menunjukkan posting blog yang populer dan terbaru di situs web utama.
Harap dicatat bahwa blog dan situs web utama menggunakan dua basis data yang terpisah.
Saya memutuskan untuk menggunakan plugin WP REST JSON API untuk itu. Sekarang saya punya pertanyaan berbeda.
Saya menggunakan kode berikut untuk mengambil posting populer minggu lalu. Apa yang sebenarnya saya butuhkan adalah untuk mendapatkan data yang sama ini melalui panggilan API.
$args = array(
'date_query' => array( array( 'after' => '1 week ago' ) ),
'posts_per_page' => $recent_posts_count,
'ignore_sticky_posts' => 1,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$popularposts = new WP_Query( $args );
Bagaimana saya bisa melakukan itu?
json
plugin-json-api
popular-posts
web-services
wp-api
Janith Chinthana
sumber
sumber
Jawaban:
Saya akan memberi Anda jawaban kecil untuk pembaruan Anda, melakukan ini dengan WP API . API memiliki kemungkinan untuk menggunakan WP_Query seperti juga di inti, tetapi tentang parameter get di url.
URL untuk menarik konten dari Status Posting akan terlihat seperti ini:
Untuk menarik konten dengan parameter WP_Query yang biasa Anda gunakan, Anda bisa melakukannya seperti ini:
Anda dapat membuat kueri khusus dengan semua parameter juga di url. Anda dapat melihat bagaimana metode untuk mengambil data yang terasa biasa digunakan
WP_Query
untuk loop WordPress standar. Jika Anda tidak menentukan parameter, standar untukWP_Query
akan digunakan.Hasilnya adalah json, yang dapat Anda parse dan gunakan untuk situs eksternal Anda.
Lihat juga situs API untuk lebih banyak parameter dan dokumentasi.
Perbarui untuk
date_query
API tidak dapat membuat hasil untuk kueri seperti
query_date
. Lihat dokumentasi untuk semua parameter yang mungkin.Tetapi versi baru akan dirilis dalam beberapa hari, minggu. Dan lihat masalah ini untuk diskusi tentang solusi untuk kueri tanggal ini. Alternatif menggunakan filter khusus melalui kait, seperti:
Perbarui untuk
meta_query
API juga tidak bisa fitur WP-Query default ini. Tetapi Anda dapat menggunakan pengait untuk meningkatkan API ke persyaratan ini. Juga di sini contoh kecil.
Sekarang, saya dapat memanggil JSON dengan tenang seperti itu untuk meniru filter posting Wp_query yang sudah ada di server:
Pembaruan permintaan meta berdasarkan dari jawaban ini .
sumber
'date_query' => array( array( 'after' => '1 week ago' ) ),
sebagai string kuerifilter[posts_per_page]=2&filter[order]=ASC
dua ini tidak berfungsi, jadi selalu memberikan pos terbaru sajahttp://localhost/wpbeta/plugins/wp-json/posts?filter[posts_per_page]=1&filter[order]=ASC
. Jauh lebih banyak di pembaruan saya di bawah ini dalam jawabannya.post_per_page
&order
berfungsi, tapi bagaimanameta_key
. apakah ini bekerja dengan ini atau saya perlu kerja ekstra untuk itu?