【问题标题】:Hiding/showing grandchild pages in a menu in Wordpress 3.3.2在 Wordpress 3.3.2 的菜单中隐藏/显示孙子页面
【发布时间】:2012-05-02 15:31:33
【问题描述】:

我有一个菜单问题需要帮助。

我正在使用主题为 211 的 wordpress 3.3.2。

我正在使用两个模板,默认的 wordpress 展示和一个名为 products 的自定义页面模板。

我目前有这个子导航树(展示模板):

  • -市场与产品
    • 农业
    • 航空航天
    • 防御
    • 工业

我用来得到上述结果的代码是:

       <?php

        //$children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=1&depth=1');

if($post->post_parent && $post->post_parent!=0){
        $children = wp_list_pages("title_li=&sort_column=menu_order&child_of=".$post->post_parent."&echo=0&depth=2");

}else{
          $children = wp_list_pages("title_li=&sort_column=menu_order&child_of=".$post->ID."&echo=0&depth=1");
     }
 if ($children) { ?>
    <div id="subNav">
        <ul>        
        <?php echo $children; ?>
        </ul>
    </div>
    <?php } ?>

当我选择农业页面(产品模板)时,我会看到这样的结构:

  • 营销与产品
    • 农业
      • 孙子页面 1
      • 孙子页面 2
    • 航空航天
      • 孙子页面 1
      • 孙子页面 2
    • 防御
    • 工业

农业孙子页面已显示,但航空孙子页面应隐藏。

我当前使用的代码是:

    <?php

       //$children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=1&depth=1');
    // && $post->post_parent!=0
    if($post->post_parent){
    //siblings
    $textTest = 'siblings';
            $children = wp_list_pages("title_li=&sort_column=menu_order&child_of=".$post->post_parent."&echo=0&depth=2");
     }else{
            $textTest =  'children';
                    $children = wp_list_pages("title_li=&sort_column=menu_order&child_of=".$post->ID."&echo=0&depth=1");
          }
       if ($children) { ?>
        <div id="subNav">
            <? echo $textTest;?>
            <ul>        
               <?php echo $children; ?>
            </ul>
        </div>
    <?php } ?>

所以我想知道的是;给定: 营销页面的父级为 0 它有孩子航空航天和农业 他们也有孩子(营销的孙子)

有什么方法可以显示: 营销之子在该页面上时 农业的孩子(例如)在该页面或其中一个子页面上 - 这样只有这些孙子显示以及农业的兄弟姐妹(营销的孩子),而不是它的兄弟姐妹的孩子?

任何帮助表示赞赏。 :)

【问题讨论】:

    标签: php wordpress menu children


    【解决方案1】:

    您正在使用的 if else 导致冲突。

    为每个页面使用meta value。它决定了要在屏幕上显示的菜单类型。

    其他:

    使用此代码,菜单将显示它会始终显示完整菜单。

    当您在Agriculture 页面上时,它会检查它是否有父页面,在这种情况下,您的Agriculture 页面的父页面是Marketing &amp; products 页面,然后它会选择父页面。

    并且Marketing &amp; products的所有子页面都显示在链接中。

    【讨论】:

    • 可以根据需要为每个帖子类型添加元值支持,pagesposts 已经配备了元值。在元值的描述下方有一列。您可以在其中添加元值及其名称。您还可以出于相同目的创建自定义元框。在页面模板中,您可以获得给定键的帖子元值。并可以相应地使用它。好吧,我认为您不知道如何在 wordpress 中正确编码。我会建议学习GENESIS 框架并阅读wordpress 的文档。对于那些知道的人来说,它是一个强大的工具。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多