繁体   English   中英

如何在AJAX内容加载中使用get_adjacent_post_rel_link()?

[英]How do I use get_adjacent_post_rel_link() in AJAX content loading?

界面图片
我创建了一个jquery脚本来加载内容。 此内容包括自定义帖子类型的帖子。 作为参考,我已使用Ajax和jQuery加载WordPress帖子

问题我将用.load URL替换什么,以便每次单击#ajaxNext时,它都转到上一篇文章提交的自定义帖子类型URL?

例如:当前显示的自定义帖子发布于2011年8月30日。*点击#ajax下一篇帖子将更新为2011年8月24日的帖子*

对Wordpress文档的引用。
jQuery此代码保存在single-custom_type.php的标头中

<script type="text/javascript">
    $(document).ready(function(){
    $.ajaxSetup({cache:false});
    $("#ajaxNext").click(function(){
        var post_id = $(this).attr("rel")
        $("#container").html("loading...");
        $("#container").load("<?php get_adjacent_post_rel_link( $title, $in_same_cat, $excluded_categories, $previous ); ?>");
        return false;
    });
});
</script>

$("#container").load('<?php get_adjacent_post_rel_link( $title, $in_same_cat, $excluded_categories, $previous ); ?>'); 是创建请求的URL的原因(我在测试中放入了直接URL ,它可以工作。不幸的是,此php不起作用 )。 我希望该.load的URL是wordpress中的下一篇文章。 我已按照本教程进行了尽可能多的指导。 由于要使用自定义帖子类型,因此不得不进行一些调整。 仍然没有运气:(

PHP 逻辑上home.php包含下面的PHP参考

<div id="wrapper">
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <article id="post-<?php the_ID(); ?>" <?php post_class('clearfix'); ?> role="article">
        <div id="inner">
            <?php 
                if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
                  the_post_thumbnail(full);
                } 
            ?>

        </div>
</div>

HTML 这个特定的html块包含执行AJAX调用的锚点

    <section class="summary">
  <div>
    <header> <img src="<?php echo get_template_directory_uri(); ?>/library/images/works.png"  />
      <h1>Process</h1>
      <h2><a id="ajaxNext" href="<?php the_permalink() ?>" rel="<?php the_ID(); ?>" title="<?php the_title_attribute(); ?>">Next</a></h2>
    </header>
    <p>
      <p><?php getCustomField('Process'); ?></p>
    </p>
  </div>
</section>

如果我有任何遗漏,请随时询问! 我会立即回应。

最后,如果有一个先前的按钮,并且代码完全不同,我将如何创建该.load();。 URL请求,即转到最新帖子。

您使用了错误的功能。 get_adjacent_post_rel_link()返回完整的链接- <link rel="prev"...>您需要原始URL,而不是整个链接。 不幸的是,我找不到一个“正确的”功能,这令我惊讶。 那里有许多解决方案 ,但是我倾向于将URL从已有的东西中吸取。

$next = get_adjacent_post_rel_link();
preg_match('/href=\'([^\']*)\'/',$next,$matches);
var_dump($matches[1]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM