自定义帖子类型添加附加标记

时间:2013-09-18 作者:MARS

我正在创建一个模板,但每次我添加一个新的自定义帖子类型(在这个示例邻居中),它都会不断注入一个新的<ol><li> 这是我目前拥有的代码,我正在使用ACF高级自定义字段插件创建自定义字段。

<?php

/*

  Template Name: Neighborhoods Page

*/

include(TEMPLATEPATH."/header-internal.php");?>

  <div class="container-space"></div>

    <div class="container-main">

    <?php

    $args = array(
        \'post_type\' => \'neighborhoods\'
    );

    $the_query = new WP_Query( $args );

    ?>


    <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

      <ol class="col-neigh-title neighborhood">
        <li><a href="<?php the_field( \'url_neighborhood\' ); ?>"><?php the_field( \'neighborhood_name\' ); ?></a>
        </li>
      </ol>

    <?php endwhile; else: ?>

    <p>There are no posts or pages here</p>

    <?php endif; ?>

    </div>


<?php get_footer(); ?>

2 个回复
SO网友:Milo

如果我理解你的问题,问题是while 每个帖子都会重复循环。如果要将所有帖子包装在一组<ol></ol> 标签,必须放在外面while 陈述

if ( $the_query->have_posts() ) :

    // open the <ol> outside the loop
    echo \'<ol class="col-neigh-title neighborhood">\';

    // anything inside here is repeated for each post
    while ( $the_query->have_posts() ) :
        $the_query->the_post();
        ?>

        <li><a href="<?php the_field( \'url_neighborhood\' ); ?>"><?php the_field( \'neighborhood_name\' ); ?></a></li>

        <?php
    endwhile;

    // close the <ol> outside the loop
    echo \'</ol>\';

endif;

SO网友:MARS

“邻里关系”)$\\u query=新的WP\\u查询($args);?>

    <ol class="col-neigh-title neighborhood">

    <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>


        <li><a href="<?php the_field( \'url_neighborhood\' ); ?>"><?php the_field( \'neighborhood_name\' ); ?></a>
        </li>


    <?php endwhile; else: ?>

         </ol>

    <?php endif; ?>

</div>

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register

自定义帖子类型添加附加标记 - 小码农CODE - 行之有效找到问题解决它

自定义帖子类型添加附加标记

时间:2013-09-18 作者:MARS

我正在创建一个模板,但每次我添加一个新的自定义帖子类型(在这个示例邻居中),它都会不断注入一个新的<ol><li> 这是我目前拥有的代码,我正在使用ACF高级自定义字段插件创建自定义字段。

<?php

/*

  Template Name: Neighborhoods Page

*/

include(TEMPLATEPATH."/header-internal.php");?>

  <div class="container-space"></div>

    <div class="container-main">

    <?php

    $args = array(
        \'post_type\' => \'neighborhoods\'
    );

    $the_query = new WP_Query( $args );

    ?>


    <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

      <ol class="col-neigh-title neighborhood">
        <li><a href="<?php the_field( \'url_neighborhood\' ); ?>"><?php the_field( \'neighborhood_name\' ); ?></a>
        </li>
      </ol>

    <?php endwhile; else: ?>

    <p>There are no posts or pages here</p>

    <?php endif; ?>

    </div>


<?php get_footer(); ?>

2 个回复
SO网友:Milo

如果我理解你的问题,问题是while 每个帖子都会重复循环。如果要将所有帖子包装在一组<ol></ol> 标签,必须放在外面while 陈述

if ( $the_query->have_posts() ) :

    // open the <ol> outside the loop
    echo \'<ol class="col-neigh-title neighborhood">\';

    // anything inside here is repeated for each post
    while ( $the_query->have_posts() ) :
        $the_query->the_post();
        ?>

        <li><a href="<?php the_field( \'url_neighborhood\' ); ?>"><?php the_field( \'neighborhood_name\' ); ?></a></li>

        <?php
    endwhile;

    // close the <ol> outside the loop
    echo \'</ol>\';

endif;

SO网友:MARS

“邻里关系”)$\\u query=新的WP\\u查询($args);?>

    <ol class="col-neigh-title neighborhood">

    <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>


        <li><a href="<?php the_field( \'url_neighborhood\' ); ?>"><?php the_field( \'neighborhood_name\' ); ?></a>
        </li>


    <?php endwhile; else: ?>

         </ol>

    <?php endif; ?>

</div>

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register