javascript-WordPress类别发布AJAX分页
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-WordPress类别发布AJAX分页,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3098字,纯文字阅读大概需要5分钟。
内容图文
![javascript-WordPress类别发布AJAX分页](/upload/InfoBanner/zyjiaocheng/692/815794a99b38409fa71191fff1dfd0ad.jpg)
我真的很难找到一种方法来为我的Wordpress帖子创建使用ajax的分页.我发现的解决方案不起作用.
为了在此提供更多信息,下面是一个链接,该链接的底部带有用于项目符号的项目符号.单击这些后,我希望网站的效果加载新帖子而不触发页面刷新.
http://maxlynn.co.uk/natural-interaction/category/all/
我的问题是,对于这种效果,是否有任何好的教程可能对您有所帮助.
如果您需要更多信息,请与我们联系.
******更新****
function kriesi_pagination($pages = '', $range = 2) {
$showitems = ($range * 2)+1;
global $paged;
if (empty($paged)) $paged = 1;
if ($pages == '') {
global $wp_query;
$pages = $wp_query->max_num_pages;
if (!$pages) {
$pages = 1;
}
}
if (1 != $pages) {
echo "<div class='pagination'><div class='pagination-container'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>«</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>";
for ($i=1; $i <= $pages; $i++) {
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>»</a>";
echo "</div>\n</div>\n";
}
}
这是我正在使用的PHP,如何使用此php创建ajax请求,以使页面不会重新加载?
解决方法:
您需要做的是防止分页链接上的默认设置,并发送AJAX请求以获取帖子. WordPress以这种方式用于AJAX:您将所有请求发送到带有操作参数的wp-admin / admin-ajax.php,该参数将使用wp_ajax_nopriv_my_action和wp_ajax_my_action钩子识别该请求,以便将其捕获到functions.php中.
因此,基本上,您将在模板文件中执行此操作:
<script type="text/javascript">
jQuery(document).ready(function($) {
$('.pagination a').click(function(e) {
e.preventDefault(); // don't trigger page reload
if($(this).hasClass('active')) {
return; // don't do anything if click on current page
}
$.post(
'<?php echo admin_url('admin-ajax.php'); ?>', // get admin-ajax.php url
{
action: 'ajax_pagination',
page: parseInt($(this).attr('data-page')), // get page number for "data-page" attribute
posts_per_page: <?php echo get_option('posts_per_page'); ?>
},
function(data) {
$('#content-posts').html(data); // replace posts with new one
}
});
});
});
</script>
您必须根据模板来更改类名称/属性等.
并且在functions.php方面:
function my_ajax_navigation() {
$requested_page = intval($_POST['page']);
$posts_per_page = intval($_POST['posts_per_page']) - 1;
$posts = get_posts(array(
'posts_per_page' => $posts_per_page,
'offset' => $page * $posts_per_page
));
foreach ($posts as $post) {
setup_postdata( $post );
// DISPLAY POST HERE
// good thing to do would be to include your post template
}
exit;
}
add_action( 'wp_ajax_ajax_pagination', 'my_ajax_navigation' );
add_action( 'wp_ajax_nopriv_ajax_paginationr', 'my_ajax_navigation' );
事情是查询所请求页面的帖子(因此我们从页码和每页帖子数量计算偏移量),并使用用于单个帖子的模板显示它们.
您可能还需要操纵浏览器历史记录,为此,您应该选中the History API.
内容总结
以上是互联网集市为您收集整理的javascript-WordPress类别发布AJAX分页全部内容,希望文章能够帮你解决javascript-WordPress类别发布AJAX分页所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。