首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示一级wordpress的父级及其子级

显示一级wordpress的父级及其子级
EN

Stack Overflow用户
提问于 2012-09-06 20:43:53
回答 1查看 202关注 0票数 0

我想在wordpress中我的网站的页脚显示网站链接。我想获取所有的页面和他们的一个深度的子页。

然后我想要在三列中显示它们,比如如果总共有8页,那么这些应该在第一列-第二列-第三列中显示3-3-2。wordpress新手。

有谁能帮忙吗?

我试过了,但不知道如何在3-3-2中对齐它们

代码语言:javascript
复制
     <?php
  $counter = 0;
     $parent_pages = $wpdb->get_results("SELECT *  FROM $wpdb->posts WHERE post_parent = '0' AND ID <> 2 AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); ?>
  <?php if ( $parent_pages ) : foreach ( $parent_pages as $pageParent ) : setup_postdata( $pageParent ); ?>
  <?php $counter++; ?>
    <div class="linkSection">
      <ul>
       <li><a href="<?php echo  get_permalink($pageParent->ID); ?>"><?php echo $pageParent->post_title; ?></a></a> </li>
       <?php  
          $child_pages = $wpdb->get_results("SELECT *  FROM $wpdb->posts WHERE post_parent = '".$pageParent->ID."' AND ID <> 2 AND post_type = 'page' 
          ORDER BY menu_order", 'OBJECT'); ?>
         <?php if ( $child_pages ) : foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?>
          <li><a href="<?php echo  get_permalink($pageChild->ID); ?>"><?php echo $pageChild->post_title; ?></a></a> </li>
         <?php endforeach; endif; ?>



      </ul>
  </div>
  <?php endforeach; endif; ?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 05:13:38

代码语言:javascript
复制
$counter = 0;
$cnt = 0;
$parent_pages = $wpdb->get_results("SELECT *  FROM $wpdb->posts WHERE post_parent = '0' AND ID <> 2 AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); ?>
<?php if ( $parent_pages ) : foreach ( $parent_pages as $pageParent ) : setup_postdata( $pageParent ); ?>
<?php $counter++; ?>
<div class="linkSection">
    <ul>
        <li><a href="<?php echo  get_permalink($pageParent->ID); ?>"><?php echo $pageParent->post_title; ?></a></a> </li>
            <?php  
            $child_pages = $wpdb->get_results("
                SELECT *  
                FROM $wpdb->posts 
                WHERE post_parent = '".$pageParent->ID."' 
                      AND ID <> 2 
                      AND post_type = 'page' 
                ORDER BY menu_order", 'OBJECT'); 

                // define prefix and postdix for columns (3 in a row display)
                $pre = '<div class="row_3">';
                $pos = '</div>';

                if ( $child_pages )
                {
                    foreach ( $child_pages as $pageChild ) 
                    {
                        setup_postdata( $pageChild ); 
                        echo (($cnt%3==0 || $cnt==0) ? $pre:'').
                              '<li>
                                <a href=".'get_permalink($pageChild->ID).'">'.$pageChild->post_title.'</a>
                              </li>'
                            .(($cnt%3==0 || $cnt==0) ? $pos:'');
                        $cnt++;
                    }
                    $cnt = 0;
                }
            ?>
    </ul>
</div>
<?php endforeach; endif; ?>

那我做了什么?首先,我重新格式化您的代码。是的,我知道,可湿性粉剂使用这种风格,但它对我来说读起来很差。然后我为链接列表添加了前缀\后缀。和环路计数器。

工作原理:在循环中,我们用$cnt++;计算每一次迭代。在每个打印中,我们检查它是否是第三行,如果是,我们在行中添加前缀和后缀。

现在你可以调整"row_3“的css样式,使其成为3行显示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12300409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档