Rumah >hujung hadapan web >tutorial js >Bagaimana untuk melaksanakan halaman sebelumnya dan halaman seterusnya halaman tunggal WordPress [dengan kod]_kemahiran javascript

Bagaimana untuk melaksanakan halaman sebelumnya dan halaman seterusnya halaman tunggal WordPress [dengan kod]_kemahiran javascript

WBOY
WBOYasal
2016-05-16 15:11:051761semak imbas

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();)

Salin kod Kod adalah seperti berikut:

1558e7536f70b7c65e2887354d93ae6d

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:

Salin kod Kod adalah seperti berikut:

2b0cdd4c36f41345ecba193706a13e68term_id);
}
$categoryIDS = implode(",", $categoryIDS);
?>
bb3746b006bdc143861d9cb1193df467
b293ade4e8874288ac4d73691ffea8be

Buka halaman artikel single.php dalam direktori tema, tambah kod di mana anda mahu ia dipaparkan, dan simpan fail.

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.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn