我正在开发一个大约有200-300页的网站,每个页面都需要一个自定义的侧菜单,链接到主要的内部页面。这里有一个侧边栏:
链接到/foo
链接到/bar
链接到www.example.org
而另一个侧栏可能具有此结构:
链接到www.example.org
链接到/bar
链接到/foobar
链接到www.example.org/ex
那么最好的方法是什么呢?
首选电流:使用ACF?即使Gutenberg即将推出,也可以创建一个ACF字段,这只是一个常规的WYSIWYG编辑器,作为帖子中的一个额外字段。如果为空,则从其父项继承导航。
次佳选项:使用菜单如果我使用菜单,那么我必须在我的函数中创建200-300个“显示位置”。php文件。如果将正确的菜单与给定的页面匹配,那将是一片混乱。所以我想这不是最好的方法。
第三好选择:使用插件我四处看了看,但找不到任何关于这个的东西。
我不能使用widget,因为这意味着每篇文章都有一个widget,这会很混乱。
有什么建议吗?还是ACF真的是最好的选择?
SO网友:Max Yudin
如果我正确理解您的问题,下面是显示页面同级(具有相同父级)列表的代码。从侧栏调用函数。
<?php
function show_page_siblings( $id ) {
$parent_id = wp_get_post_parent_id( $id );
// show only on child pages
if( 0 == $parent_id ) {
return;
}
$siblings = get_pages( array(
\'child_of\' => $parent_id,
\'hierarchical\' => 0,
\'parent\' => $parent_id,
\'post_type\' => \'page\',
\'post_status\' => \'publish\'
));
if( !empty( $siblings ) ) {
echo \'<ul>\';
foreach( $siblings as $sibling ) {
echo \'<li><a href="\' . get_permalink( $sibling->ID ) . \'">\' . $sibling->post_title . \'</a></li>\';
}
echo \'</ul>\';
}
}