如何才能获得一个<h2>标记来包装在这种情况下输出的每个祖先?

时间:2013-02-01 作者:Clint Hubbard Jr

我在另一个线程中找到了这个片段,它主要完成了我需要的任务,但我在用标签包装输出的各个页面时遇到了问题。我能补充的似乎只有换行符。我对php没有太多经验,所以很遗憾,我无法根据自己的需要定制它。最后,我只需要显示第一级和第二级页面标题,它们需要包装在单独的h2中。提前感谢。

    //This is the loop that pulls banner titles
function print_page_parents($reverse = true){
    global $post;

    //create array of pages (i.e. current, parent, grandparent)
    $page = array($post->ID);
    $page_ancestors = get_ancestors($post->ID, \'page\');
    $pages = array_merge($page, $page_ancestors);

    if($reverse) {
        //reverse array (i.e. grandparent, parent, current)
        $pages = array_reverse($pages);
    }

    for($i=0; $i<count($pages); $i++) {
        $ban_titles.= get_the_title($pages[$i]);
        if($i != count($pages) - 1){
            $ban_titles.= " <br /> ";
        }
    }

    echo $ban_titles;
}

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

要在h2中包装您的标题,只需更改echo $ban_titles;echo \'<h2>\'. $ban_titles . \'</h2>\';.

如果要将显示的标题数限制为2,请更改for($i=0; $i<count($pages); $i++)for($i=0; $i<2; $i++).

希望有帮助,PHP毕竟没有那么可怕:)

[编辑]

那怎么样?

    //This is the loop that pulls banner titles
function print_page_parents($reverse = true){
    global $post;

    //create array of pages (i.e. current, parent, grandparent)
    $page = array($post->ID);
    $page_ancestors = get_ancestors($post->ID, \'page\');
    $pages = array_merge($page, $page_ancestors);

    if($reverse) {
        //reverse array (i.e. grandparent, parent, current)
        $pages = array_reverse($pages);
    }

    $i = 0;
    if(count($pages)==1) {

    echo \'<h2>\'. get_the_title($pages[$i]) .\'</h2>\';

    } else {

    echo \'<h2>\'. get_the_title($pages[$i]) .\'</h2>\';
    echo \'<h2>\'. get_the_title($pages[$i+1]) .\'</h2>\';

    }

 }

结束

相关推荐

problems exluding categories

我以前做过,但由于某种原因,它不起作用,我也不知道为什么。我只是想从博客页面中排除一些类别。我以为这件事很简单。我有索引。php文件打开,在循环之前,我这样做了 query_posts( $guery_string . \'&cat=-6\' ) if (have_posts)......rest of loop here. 我甚至尝试添加全局$query\\u字符串;最重要的是,我所做的一切都不能摆脱第6类。这种方法在最新版本的wordpress中是否不再有效?