-1

こんにちは、wordpress サイト用の簡単なポップアップ機能を作成する必要があります。

実行中のループがあり、投稿を適切に表示しています。クリックすると投稿がポップアップに表示されます。私がこれまでに得たもの。それは仕事をするためにfancyboxを追加することとは別に。

<a class="modalbox" rel="<?php echo $post->ID; ?>" href=" http://localhost/makijaz/?page_id=12">
     <article> ...Wordpress post </article>

他のスレッドから下のものを取得しましたが、機能していません。

 $(".modalbox").on("click", function() {
       var postId = $(this).prop("rel");
       $(this).fancybox();

    });

href in は他のループでテンプレートのあるページに誘導しています。PostID を単純にグラム化して (それは の rel にあります)、ポップアップに表示するために他のループに入れる必要があります。

    <?php
/*
Template Name: Ajax Post Handler
*/
?>
<?php
    $post = get_post($_GET['id']);
?>
<?php if ($post) : ?>
    <?php setup_postdata($post); ?>
    <div class="whatever">
        <h2 class="entry-title"><?php the_title() ?></h2>
        <div class="entry-content">
            <?php the_content(); ?>
        </div>
    </div>
<?php endif; ?>

うまくいけば、私は自分自身を明確にしました。

4

2 に答える 2

0

投稿IDを渡して$post = get_post($_GET['id']);取得できるようにしたい場合は、試してみてください

jQuery(document).ready(function ($) {
    $(".modalbox").on("click", function (e) {
        e.preventDefault();
        var postId = $(this).prop("rel");
        $.fancybox.open({
            href: this.href + "&amp;id=" + postId,
            type: "ajax"
        });
    });
});

JSFIDDLEを参照してください

于 2013-06-06T17:51:15.400 に答える
0

あなたのページ テンプレートには get_header と get_footer がないため、スクリプトの例では読み込まれないと思います。

<?php
  /*
  Template Name: Your Temp Name
  */
get_header(); ?>
于 2013-06-06T11:47:01.940 に答える