自定义字段锚点php

时间:2018-09-12 作者:Jenova1628

嘿,我在我的一个页面的侧面有一个列表,当单击单词时,它会滚动到其锚点,设置如下:

<div class="guide-section"  id="Measuring_up"> 
然后href如下所示:

<a class="list-group-item" href="#Measuring_up">Measuring up</a>
我的问题是,我已经在WordPress中使用自定义帖子类型并将其链接,使指南部分成为动态的,我希望这样做,但列表项不是这样。PHP中是否有一种方法可以从自定义字段中获取id,我的设置如下:

自定义字段:guide\\u id值:Measuring\\u up

非常感谢。

编辑:更新的代码(无限列表)

<?php
                    if( $bedGuideRight_query->have_posts() ){
                        while( $bedGuideRight_query->have_posts() ){ $bedGuideRight_query->the_post(); ?>
                        <?php global $post;?> 
                <div class="guide-section"  id="<?php echo $post->post_name; ?>">
                    <h3><?php the_title(); ?></h3>
                    <p><?php the_content(); ?></p>

                </div>
                <?php }
                    } else { ?>
                        <div class="item">
                            <div class="testimonial">
                                <h3>No Bed Guides Found</h3>
                            </div>
                        </div>
                    <?php }
                    wp_reset_postdata();
                ?>
            </div>

            <div class="col-sm-3 col-sm-pull-9 sidebar">
                <div class="panel panel-success guide ">
                  <div class="panel-heading"><strong>Guides</strong></div>
                  <div class="panel-body">
                    <p><small>Click on any of the listings below to quickly find the information you need.</small></p>
                  </div>

                  <ul class="list-group">
                  <?php if( $bedGuideRight_query->have_posts() ){
                    while( $bedGuideRight_query->have_posts() ){ $bedGuideRight_query->the_post(); ?>
                    <a class="list-group-item" href="#<?php echo $post->post_name; ?>"><?php the_title(); ?></a>
                    <?php }
                    } ?>
                  </ul>
                </div>

1 个回复
最合适的回答,由SO网友:Pim 整理而成

你要做的是使用name 属性

<a href="#my-anchor">Link to the anchor</a>

<p name="my-anchor">This is the anchor</p>
此外,我会使用一些一致的东西,比如post/page slug,以便能够链接到每个部分。

<?php global $post; ?>

<div class="guide-section" name="<?php echo $post->post_name; ?>">
然后在你的列表中也使用slug。重复while循环:

<?php if( $bedGuideRight_query->have_posts() ){
   while( $bedGuideRight_query->have_posts() ){
     $bedGuideRight_query->the_post(); ?>
     <a class="list-group-item" href="#<?php echo $post->post_name; ?>"><?php the_title(); ?></a>
   <?php }
} ?>

结束