Rumah >hujung hadapan web >tutorial js >Bagaimana untuk melaksanakan halaman sebelumnya dan halaman seterusnya halaman tunggal WordPress [dengan kod]_kemahiran javascript
Halaman artikel WordPress mempunyai fungsi untuk melaksanakan artikel sebelumnya dan seterusnya, kami ingin melaksanakan fungsi halaman sebelumnya dan seterusnya dalam satu halaman halaman.php Fungsi previous_post_link() dan next_post_link() belum tersedia. Ia memenuhi keperluan saya sepenuhnya, jadi saya menulis fungsi itu sendiri untuk melaksanakannya.
Halaman ini mempunyai fungsi hierarki Keperluan ialah terdapat pautan sebelumnya dan seterusnya antara sub-halaman yang diisih mengikut susunan menu, seperti:
Tema (halaman induk)
---- zBench (halaman kanak-kanak 1)
---- zBorder (halaman kanak-kanak 2)
---- zSofa (kanak-kanak muka surat 3)
Jika halaman semasa ialah zBorder, maka pautan sebelumnya mestilah zBench dan pautan seterusnya mestilah zSofa.
把下面函数代码放入 functions.php(注:函数随手写的,可能不够精简) /** * get subpage previous/next page link by zwwooooo */ function subpage_nav_link($prevText='', $nextText='') { global $post; if ( !$post->post_parent ) return null; //如果不是子页面返回Null $args = array( 'sort_order' => 'ASC', 'sort_column' => 'menu_order', 'child_of' => $post->post_parent, 'post_type' => 'page' ); $pages = get_pages($args); $num = count($pages); $i = 0; $index = -1; foreach ($pages as $page) { if ($page->ID == $post->ID) { $index = $i; break; } ++$i; } if ($i == 0) { $prev = ''; $next = $pages[$index+1]; } elseif ($i == $num-1) { $prev = $pages[$index-1]; $next = ''; } else { $prev = $pages[$index-1]; $next = $pages[$index+1]; } if ($prev) { if ($prevText) { if ( substr_count($prevText, '%title') > 0 ) { $explode = explode('%title', $prevText); $prevText = $explode[0] . get_the_title($prev->ID) . $explode[1]; } } else { $prevText = get_the_title($prev->ID); } $prevlink = '<a class="previous-page-link" href="' . get_page_link($prev->ID). '">' . $prevText . '</a>'; } if ($next) { if ($nextText) { if ( substr_count($nextText, '%title') > 0 ) { $explode = explode('%title', $nextText); $nextText = $explode[0] . get_the_title($next->ID) . $explode[1]; } } else { $nextText = get_the_title($next->ID); } $nextlink = '<a class="next-page-link" href="' . get_page_link($next->ID). '">' . $nextText . '</a>'; } return array($prevlink, $nextlink); }
[Fungsi]
subhalaman_nav_link($prevText, $nextText)
[Parameter]
$prevText: Teks pautan untuk artikel sebelumnya Jika kosong, lalai ialah tajuk halaman
$nextText: Teks pautan untuk artikel seterusnya Apabila kosong, ia lalai kepada tajuk halaman
Contohnya: tema umum adalah untuk memasukkan kod panggilan dalam gelung gelung page.php (Saya tidak tahu, betul-betul di bawah the_content();)
Nota: Anda boleh menggunakan if (!$subpage_nav_link[0]) untuk menentukan sama ada terdapat artikel sebelumnya, dan begitu juga jika (!$subpage_nav_link[1]) untuk menentukan sama ada terdapat artikel seterusnya.
PS: $prevText dan $nextText juga menyokong gabungan aksara, seperti subpage_nav_link('oo %title xx', '') Dalam kes ini, artikel pautan artikel sebelumnya akan menjadi "oo page name xx"
Satu lagi artikel praktikal: Melaksanakan halaman artikel wordpress untuk memanggil artikel sebelumnya/seterusnya dalam kategori yang sama
Kod fungsi yang disediakan oleh wordpress untuk memaparkan artikel sebelum dan seterusnya dipanggil mengikut urutan penerbitan Templat novel wordpress yang saya buat beberapa hari lepas, kerana setiap kategori digunakan untuk menambah novel "Novel wordpress pertama Blog Bar. " Templat tema laman web "wpnovel", jika tidak sesuai untuk memaparkan artikel sebelumnya dan seterusnya dalam susunan ini, ia adalah cara yang betul untuk membenarkan halaman artikel memaparkan artikel sebelumnya dan seterusnya di bawah kategori yang sama. WordPress berkuasa dan boleh sentiasa memuaskan idea pengguna , kod fungsi yang berkaitan ditemui melalui carian.
Kod dipanggil terus secara lalai
657decae7fcc18f654b1013ff20a967f
4290abfbfdf0dd37f4f3a177a5497bb6
Apabila artikel itu adalah artikel pertama atau terakhir, jurang akan dipaparkan, tetapi jurang boleh diisi dengan menambah pertimbangan
dba8d5dc6b4d724c6c489741b901395c
f357eb9c8374186f4abc8ebe0a67d6eb
Selepas ujian, walaupun artikel di bawah kategori yang sama dipaparkan, artikel pertama dan artikel terakhir tidak akan memaparkan mesej gesaan yang sepadan "Sudah artikel terakhir" dan "Sudah artikel terakhir". Selagi anda menentukan ID kategori artikel dalam fungsi get_previous_post(), kod tersebut akan berkesan sepenuhnya.
Berikut ialah kod lengkap:
Kaedah di atas untuk melaksanakan halaman sebelumnya dan halaman seterusnya halaman tunggal WordPress [dengan kod] adalah semua kandungan yang dikongsi oleh editor saya harap ia dapat memberi anda rujukan, dan saya harap anda akan menyokong Script Home.