2

インターフェイスの画像
AJAX コンテンツを読み込むための jquery スクリプトを作成しました。このコンテンツは、カスタム投稿タイプから作成された投稿で構成されています。参考までに、 Loading WordPress posts with Ajax and jQuery を使用しました。

問題.load URL を何に置き換えれば、#ajaxNext をクリックするたびに、以前の投稿が送信された custom-post-type URL に移動できるようになりますか?

例: 現在表示されているカスタム投稿は 2011 年 8 月 30 日に投稿されました。 *#ajax をクリックすると、2011 年 8 月 24 日の投稿に次の投稿が更新されます *

ワードプレスのドキュメントへの参照。
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 リクエスト、つまり最新の投稿に移動します。

4

1 に答える 1

0

間違った機能を使用しています。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]);
于 2012-10-14T16:59:19.593 に答える