Wordpress - 列出子页面,但将它们链接为锚点

时间:2012-06-21 22:53:45

标签: php wordpress

这里有一个难以解释的问题,但我会尽我所能。

我有此页面模板,您可以在此处查看:http://goo.gl/y088X。模板首先将顶部类别为“展览档案”类别的所有页面列为子菜单,然后页面在页面上输出这些页面(图像)的附件,并使用一些JS进行演示等。

目前,子菜单(子页面列表)项链接到页面,这是显而易见的事情。

然而,我希望能够做的是将所有内容保存在一个页面上,并将子菜单项链接到页面上的帖子,并向下滚动到页面上的该部分(基本上,使用锚链接)。如果您点击子菜单中的展览标题链接,它将滚动到页面下方的展览标题。

我已经设置了大部分内容,但我需要能够动态地执行此操作。标记每个部分开头的页面下方的标题需要是一个锚标记,其id标记引用子菜单项,因此当单击子菜单项时,它将滚动到该子位置,子菜单项具有#anchor作为href,而不是该页面的永久链接。

这一切都可能吗?

这就是我用来列出子菜单中的项目所以我需要一种方法来动态创建一个#anchor作为href而不是永久链接,然后<h1>标题下来标记每个部分的页面具有相应的ID。

希望这是有道理的,希望你能提供帮助。对于任何能够解决这个问题的人,我会给予一些巨大的声誉:)

提前致谢, [R

<?php wp_list_pages('title_li=&child_of=155'); ?>

1 个答案:

答案 0 :(得分:4)

您可以尝试使用get_pages()

尝试编写自己的子导航,而不是使用wp_list_page()

http://codex.wordpress.org/Function_Reference/get_pages

一旦您构建了导航,您就可以随时在页面下方创建并链接到您的内容。

<?php
if( is_page(155) ){
    $args = array( 'child_of' => 155, 
                   'sort_order' => ASC,
                   'sort_column' => post_date,
                   'parent' => 155,
                   'hierarchical' => 0  
                 );
    $mypages = get_pages($args);
?>
<ul>
    <?php foreach( $mypages as $page ) {    
?>
   <li><a href="#<?php echo $page->post_name; ?>"><?php echo $page->post_title; ?></a></li>
<?php
    }
 ?>
 </ul>
<?php
}
?>
希望这有帮助吗?

玛蒂