我如何用WordPress的代码来构建我的伪页脚导航代码?

时间:2013-06-04 作者:beta208

我正在构建我的第一个完全定制的wordpress主题,我开始在尝试编写动态页脚代码时脱颖而出!我尝试了一系列的codex this和codex that,但似乎无法动态地获得正确的结果。也就是说,我已经手动编写了代码,让您预览我正在寻找的结构,希望大家都能帮助我修复我的混乱。

这是。。。

<div class="footercat">
<h2><a href="http://domain.com/parent1/">Parent1</a></h2>
<ul>
    <li><a href="http://domain.com/parent1/child1/">Child1</a></li>
    <li><a href="http://domain.com/parent1/child2/">Child2</a></li>
    <li><a href="http://domain.com/parent1/child3/">Child3</a></li>
    <li><a href="http://domain.com/parent1/child4/">Child4</a</li>
    <li><a href="http://domain.com/parent1/child5/">Child5</a></li>
</ul>
</div>
<div class="footercat">
<h2><a href="http://domain.com/parent2/">Parent2</a></h2>
<ul>
    <li><a href="http://domain.com/parent2/child1/">Child1</a></li>
    <li><a href="http://domain.com/parent2/child2/">Child2</a></li>
    <li><a href="http://domain.com/parent2/child3/">Child3</a></li>
    <li><a href="http://domain.com/parent2/child4/">Child4</a</li>
    <li><a href="http://domain.com/parent2/child5/">Child5</a></li>
</ul>
</div>
<div class="footercat">
<h2><a href="http://domain.com/blog/">Blog</a></h2>
<ul>
    <li><a href="http://domain.com/category/category1/">Category1</a></li>
    <ul>
        <li><a href="http://domain.com/category1/recentpost1">Recent Post</a></li>
        <li><a href="http://domain.com/category1/recentpost2">Recent Post 2</a></li>
        <li><a href="http://domain.com/category1/recentpost3">Recent Post 3</a></li>
    </ul>
    <li><a href="http://domain.com/category/category2/">Category2</a></li>
    <ul>
        <li><a href="http://domain.com/category2/recentpost1">Recent Post</a></li>
        <li><a href="http://domain.com/category2/recentpost2">Recent Post 2</a></li>
        <li><a href="http://domain.com/category2/recentpost3">Recent Post 3</a></li>
    </ul>
</ul>
</div>
这是一个非常合理的结构:

Parent1
    Child1
    ...
    Child5
Parent2
    Child1
    ...
    Child5
Blog
    Category1
        Recent Post1
        Recent Post2
    Category2
        Recent Post1
        Recent Post2
Parent1Parent2 是“页面”;在其上时,其顶部导航显示如下:

家长1 |孩子1 |孩子2 |孩子3 |孩子4 |孩子5

。。。就像他们在一个名为Parent1的子页面上一样。当他们在Parent1 第页,url为:example.com/parent1, 当他们在child1 属于parent1, url为example.com/parent1/child1.

父级的页面ID依次为“14”和“19”。孩子1-5是他们父母的独生子女(即:14岁和19岁都有自己的孩子1-5)。

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

我将其作为一个函数进行了测试。您可以将其放置在页脚或函数中。php主题文件,并在主题页脚部分调用它。有关所用函数的链接,请参见注释。

function wpse_101774_footer() {

    // Start this part of footer on new line.
    echo "\\n";

    foreach ( array( 14, 19 ) as $page_id ) {

        // Start .footercat div.
        echo "<div class=\'footercat\'>\\n";

        // Print the Parent post anchor markup.
        // See: http://codex.wordpress.org/Function_Reference/get_permalink
        // See: http://codex.wordpress.org/Function_Reference/get_the_title
        printf( \'<h2><a href="%s">%s</a></h2>\', get_permalink( $page_id ), get_the_title( $page_id ) );

        echo \'<ul>\';

        // List the child pages.
        // See: http://codex.wordpress.org/Function_Reference/wp_list_pages
        wp_list_pages( array(
            \'depth\'       => 1,
            \'child_of\'    => $page_id,
            \'post_type\'   => \'page\',
            \'post_status\' => \'publish\',
            \'title_li\'    => \'\',
        ) );
        echo \'</ul>\';

        // End .footercat div.
        echo "\\n</div><!-- end .footercat -->\\n";
    }

    $blog_post_id = 3081;

    // Print the Blog page anchor markup.
    // See: http://codex.wordpress.org/Function_Reference/get_permalink
    // See: http://codex.wordpress.org/Function_Reference/get_the_title
    printf( \'<h2><a href="%s">%s</a></h2>\', get_permalink( $blog_post_id ), get_the_title( $blog_post_id ) );

    // Start .footercat div.
    echo "<div class=\'footercat\'>\\n";

    echo \'<ul>\';

    // Add comma separated list of ctegory IDs in place of "1" (For example, 1, 45, 6 ).
    foreach ( array( 1 ) as $category_id ) {

        // Get the category object for this category ID.
        // See: http://codex.wordpress.org/Function_Reference/get_category
        $category = get_category( $category_id );

        // Get this category\'s posts.
        // See: http://codex.wordpress.org/Function_Reference/get_posts
        $posts = get_posts( array(
            \'posts_per_page\'  => 5,
            \'category\'        => $category_id,
            \'post_type\'       => \'post\',
            \'post_status\'     => \'publish\',
            \'suppress_filters\' => true
        ) );

        $post_anchors = \'\';
        if ( $posts ) {
            $post_anchors = \'<ul>\';
            foreach ( $posts as $post ) {

                // Print this category\'s posts.
                // See: http://codex.wordpress.org/Function_Reference/get_permalink
                // See: http://codex.wordpress.org/Function_Reference/get_the_title
                $post_anchors .= sprintf(
                    \'<li><a href="%s">%s</a></li>\',
                    get_permalink( $post->ID ),
                    get_the_title( $post->ID )
                );
            }
            $post_anchors .= \'</ul>\';
        }

        // Print this category\'s anchor and post anchors, if any.
        // See: http://codex.wordpress.org/Function_Reference/get_category_link
        printf( \'<li><a href="%s">%s</a>%s</li>\', get_category_link( $category_id ), $category->name, $post_anchors );

    }
    echo \'</ul>\';

    // End .footercat div.
    echo "\\n</div><!-- end .footercat -->\\n";
}

结束

相关推荐

Why is my footer missing

嗨,不知什么原因,我的网站上缺少我的页脚,我不知道为什么。我已经停用了所有插件,但它仍然不在那里,我已经检查了css和所有插件,但页脚仍然缺失。有人能告诉我出了什么问题吗。当我查看源代码时,页脚在那里,但没有显示出来。该网站是Ericavin。com公司以下是gist上的文件-->https://gist.github.com/mihadaiko/5008645