Dalam situasi di mana seseorang memiliki 20 posting per halaman. Saya ingin mendapatkan nomor halaman saat ini untuk membuat beberapa tautan halaman yang bagus di bagian bawah. Bagaimana Anda mendapatkan halaman saat ini. Saya mencoba ini
<?php echo '(Page '.$page.' of '.$numpages.')';?>
dan itu hanya mengatakan halaman 1 dari 1 di setiap halaman.
Ketika WordPress menggunakan pagination seperti ini, ada variabel kueri $pagedyang dikunci. Jadi, halaman 1 adalah $paged=1dan halaman 15 adalah $paged=15.
Anda bisa mendapatkan nilai variabel ini dengan kode berikut:
Mendapatkan jumlah total halaman agak sulit. Pertama, Anda harus menghitung semua posting di database. Lalu saring dengan mana posting diterbitkan (versus yang merupakan konsep, dijadwalkan, sampah, dll.). Maka Anda harus membagi jumlah ini dengan jumlah posting yang Anda harapkan muncul di setiap halaman:
Saya belum menguji ini, tetapi Anda mungkin perlu mengambil $posts_per_pagecara yang sama seperti yang Anda lakukan $paged(menggunakan get_query_var()).
Itu alternatif yang bagus. Bagian dari $wp_querysaya benar-benar lupa ada di sana: - /
EAMann
@ EAMann BTW: ada juga found_postsproperti "Jumlah posting yang ditemukan cocok dengan parameter permintaan saat ini", wp_count_posts () adalah semacam overhead.
jave.web
8
Anda bisa melakukannya dengan satu baris kode, tetapi sekali lagi, Anda mungkin ingin menambahkan kode di tempat lain, jadi fungsi biasanya lebih bermanfaat.
Cukup panggil fungsi tempat Anda ingin menampilkan pesan "Halaman x y", mis.
<?php current_paged();?>
Jika Anda memerlukan kode untuk bekerja dengan permintaan khusus, yaitu. yang Anda buat menggunakan WP_Query, kemudian cukup berikan nama variabel yang menyimpan kueri ke fungsi.
Jika saya jadi Anda, saya akan memeriksa apakah $varpermintaan: if( is_a( $var, 'WP_Query' ) )akan mengembalikan true jika itu adalah objek permintaan.
John P Bloch
Ya, itu sebenarnya ide yang sangat masuk akal, selesai !.
t31os
0
Seperti disebutkan di atas - cara sederhana untuk mendapatkan jumlah halaman maksimal adalah dengan:
Salah satu opsi yang berfungsi pada semua halaman arsip saya adalah ini:
$paged_maxnum = $GLOBALS['wp_query']->max_num_pages;if( $paged_maxnum >1){
$paged_current_page = get_query_var('paged')? intval( get_query_var('paged')):1;
$title_page_nrs ='page nr '. $paged_current_page .' of '. $paged_maxnum;
echo '<title>'. get_the_archive_title('',false).' - '. $title_page_nrs .' | Your Website Name</title>';}else{
echo '<title>'. get_the_archive_title('',false).' | Your Website Name</title>';}
Kueri pertama jika ada lebih dari satu halaman dalam ini wp_query, kemudian menyatukan judul dengan halaman saat ini melalui $paged_current_pagedan total halaman dengan $title_page_nrs. Terakhir echoitu. Jika di atas 1 halaman pertama, maka elsejika tidak ada halaman. Ini masuk ke archive.php saya atau templat untuk jenis ini. Itu menghasilkan:
<title>Taxonomy title - page nr 1 of 4 | Your Website Name</title>
$wp_query->max_num_pages
?$wp_query
saya benar-benar lupa ada di sana: - /found_posts
properti "Jumlah posting yang ditemukan cocok dengan parameter permintaan saat ini", wp_count_posts () adalah semacam overhead.Anda bisa melakukannya dengan satu baris kode, tetapi sekali lagi, Anda mungkin ingin menambahkan kode di tempat lain, jadi fungsi biasanya lebih bermanfaat.
CATATAN: Kode dapat masuk ke file fungsi Anda.
Cukup panggil fungsi tempat Anda ingin menampilkan pesan "Halaman x y", mis.
Jika Anda memerlukan kode untuk bekerja dengan permintaan khusus, yaitu. yang Anda buat menggunakan
WP_Query
, kemudian cukup berikan nama variabel yang menyimpan kueri ke fungsi.Contoh kueri yang tidak ada:
Mendapatkan halaman saat ini untuk permintaan khusus menggunakan fungsi yang diposting sebelumnya ..
Jika Anda ingin benar-benar melupakan dukungan permintaan khusus dan Anda sedang mencari satu-liner, maka ini harus dilakukan ..
Semoga itu bisa membantu .. :)
sumber
$var
permintaan:if( is_a( $var, 'WP_Query' ) )
akan mengembalikan true jika itu adalah objek permintaan.Seperti disebutkan di atas - cara sederhana untuk mendapatkan jumlah halaman maksimal adalah dengan:
sumber
Salah satu opsi yang berfungsi pada semua halaman arsip saya adalah ini:
Kueri pertama jika ada lebih dari satu halaman dalam ini
wp_query
, kemudian menyatukan judul dengan halaman saat ini melalui$paged_current_page
dan total halaman dengan$title_page_nrs
. Terakhirecho
itu. Jika di atas 1 halaman pertama, makaelse
jika tidak ada halaman. Ini masuk ke archive.php saya atau templat untuk jenis ini. Itu menghasilkan:<title>Taxonomy title - page nr 1 of 4 | Your Website Name</title>
atau
<title>Taxonomy title | Your Website Name</title>
sumber