将相关的post_content显示到自定义帖子标题切换类

时间:2015-11-10 10:51:02

标签: php html wordpress loops

我创建了一个自定义后期类型,并在我的首页上加载了标题作为切换按钮。现在我想确保,toggle-div的内容始终与我单击的按钮相关。我试图通过简单地使用加载帖子内容来实现,但我认为我需要将post-id作为变量或其他东西放入循环中。我根本不知道如何使这项工作。我是PHP的绝对初学者,希望有人能给我一个提示吗?

相关网站:http:www.mzk.ernst-werbeagentur.de

我的代码:

<?php 
$query = new WP_Query( array( 'post_type' => 'praxen' ) );

if ( $query->have_posts() ) : ?>

<div class="container-fluid wrapper-slider-head">
<div class="container-fluid slider-head fullscreen" id="img-start">
    <img src="http://mzk.ernst-werbeagentur.de/wp-content/uploads/2015/10/background-start.jpg" width='1920' height='1080'>
</div>

<?php while ( $query->have_posts() ) : $query->the_post(); ?>   
    <div class="container-fluid slider-head fullscreen" id="img-<?php echo $countimg; ?>" style="display:none;">
    <?php echo get_the_post_thumbnail( $post_id, 'full', array( 'class' => 'img-' . $countimg ) ); ?>
    </div>
<?php 
$countimg++;
endwhile; wp_reset_postdata(); ?>

</div>

<?php endif; ?>


<?php 
$query = new WP_Query( array( 'post_type' => 'praxen' ) );

if ( $query->have_posts() ) : ?>

<div class="container links-praxen">
<div class="row">

<?php while ( $query->have_posts() ) : $query->the_post(); ?>   
    <div class="col-sm-4"><div <?php post_class( 'jumbotron p' . $countpost ); ?>><div class="hovertogglecont"><div class="hovertogglecontinside">
    <h2><?php the_title(); ?></h2>
    <p><?php echo get_post_meta($post->ID, 'toggletitel', true); ?></p>
    </div></div></div></div>
<?php 
$countpost++; endwhile; wp_reset_postdata(); ?>


<?php endif; ?>


<div class="container-fluid wrapper-praxisinfo" style="display:none;"> <!-- This div should toggle and show the related post-content by clicking on a link from the loop above. -->
<div class="container">
    <div class="close-post-content"><i class="fa fa-times" style="cursor:pointer; color:#fff;"></i></div>
    <div class="post-content">

        <?php 
        $query = new WP_Query( array( 'post_type' => 'praxen' ) );

        if ( $query->have_posts() ) : ?>

            <?php while ( $query->have_posts() ) : $query->the_post(); ?>   
                <?php the_content(); ?>
            <?php 
            endwhile; wp_reset_postdata(); ?>

        <?php endif; ?>

    </div>
</div>
</div>

我希望在第三个循环中显示相关帖子。

干杯谢谢你, 大卫

1 个答案:

答案 0 :(得分:1)

加载页面内容后,单击JavaScript按钮后无法使用某些参数重新运行php。你需要使用AJAX调用从一些新的PHP文件中获取帖子内容,例如post-content.php with as as parameter,然后将它放在你的wrapper-praxisinfo中。

我建议的是输出你现在正在做的所有帖子,然后隐藏那些你不想用JavaScript看到的帖子。

<div class="container">
    <div class="close-post-content"><i class="fa fa-times" style="cursor:pointer; color:#fff;"></i></div>
    <div class="post-content">

        <?php 
        $query = new WP_Query( array( 'post_type' => 'praxen' ) );

        if ( $query->have_posts() ) : ?>

            <?php while ( $query->have_posts() ) : $query->the_post(); ?>   
                <div class="post-id-<?php the_ID();?>">
                <?php the_content(); ?>
                </div>
            <?php 
            endwhile; wp_reset_postdata(); ?>

        <?php endif; ?>

    </div>
</div>
</div>

这里每个帖子都包含在一个div中,帖子ID作为一个类。您只需隐藏所有帖子,按钮点击即可显示ID所点击的帖子。