在WordPress中创建上下文相关的侧栏页面导航–WordPress大学

有时我得到一项业务,我的客户要求建立一个完全由众多网页构成的网站——没有花哨的数据库查询,也没有额外的模板文件,只有在分层结构中的一大堆网页。

对用户来讲,一个非常庞大且内嵌有众多网页的网站,如果导航没有做好的话,就会变得非常混乱而难以操作。因而,在每一个网页页面层次的当前分支中,提供一个包含所有页面的导航列表就显得很有帮助了。

这个过程包含两个阶段:

1.确定当前页面在网站结构中的位置

2.输出页面列表

我打算在一个插件中建立这个函数,从而保证其主题的独立性。因此,第一步便是建立一个插件文件,我命名其为tutsplus-list-subpages.php。

打开你的插件文件,添加以下代码:

在代码说明中包含函数名称这一点是非常有用的,因为它意味着当你在一个网站上安装你的插件的时候,你无须去检查代码以提醒你自己如何去使用它。

为了找到当前页面在网站层次结构中的位置,你需要完成以下4件事情:

那么就让我们来试一试吧!

首先使用一个条件标签来建立一个新的函数,用来检查当前页面:

现在,在is_page()条件标签里,开始定义$post全局变量:

接下来你需要确认的是当前页面是否有母页面,你需要用到if($post->post_parent):

post_parent){}}}>如果当前页面有母页面的话,你需要用get_post_ancestors()来确定顶级初始页面:

post_parent){//fetchthelistofancestors$parents=array_reverse(get_post_ancestors($post->ID));//getthetoplevelancestorreturn$parents[0];}}}>以上定义了$parents一个新的变量,这个变量的值就是在当前网站层次分支中顶级页面的ID。return$parents[0];这一行输出了这个值,因此你可以在以后的函数当中使用它。

最后,你需要定义如果当前页面没有母页面,即它本身就是顶级初始页面的情况。在此情况下,你想要输出当前页面的ID,就要将下列代码添加到你的函数中:

return$post->ID;整个函数现在看起来是这样的:

首先建立一个新的函数,用来检查当前页面:

请注意,如果你要将这个函数添加到你的page.php模板中,你可以不用进行这项检查。

在条件标签中你首先要做的就是将已经确认的顶级页面ID添加到tutsplus_check_for_page_tree()函数中,实现代码如下:

$ancestor=tutsplus_check_for_page_tree();接着,我们来定义get_pages()函数的参数:

$args=array('child_of'=>$ancestor,'depth'=>'-1','title_li'=>'',);让我们来快速回顾一下我使用的参数:

下一步,你需要运行list_pages()函数:

$list_pages=get_pages($args);输出页面列表既然你已经建立好了你的网页,那么接下来你需要输出它们的链接。为了做到这一点,首先你要检查list_pages()是否返回一个空数组:

if($list_pages){}在检查中,第一个链接指向顶级页面:

wp_list_pages($args);这将显示页面标题的链接列表。

完整的tutsplus_list_subpages()函数全文应当如下:

例如,如果你的主题在sidebar.php文件中有一个tutsplus_sidebar钩子,你可以将以下代码添加到你的functions.php文件中:

如果你是在你的客户网站上使用这些代码,你需要确保客户了解如何分层创建页面,然而这并不意味着客户需要做全面仔细的考虑。

如果你想要这些代码对客户来说变得更加人性化的话,你可以创建一个WordPress小工具(或者也许一段简码就够了)来输出页面列表,而这又是另一个话题了。

由stonetan@WordPress大学原创翻译,未经允许,禁止转载和采用本译文。

THE END
1.Sider:ChatGPT侧边栏下面是详细信息: 1并排使用:通过 Sider 的 ChatGPT 侧边栏,你可以在任何标签页上调出 ChatGPT,无需来回切换标签。这就是轻松实现多任务处理。 2 AI 游乐场:我们支持所有大牌——ChatGPT、o1、o1-mini、GPT-4、GPT-4o、GPT-4o mini、Claude 3.5 Sonnet 和 Google Gemihttps://microsoftedge.microsoft.com/addons/detail/sider-chatgpt%E4%BE%A7%E8%BE%B9%E6%A0%8F-vision/dhoenijjpgpeimemopealfcbiecgceod?eqid=87e53e130001ab1400000006646df06c
2.侧边栏布局和响应式布局的对比(SemiDesign)侧边栏布局: 通常将页面分为侧边栏(Sider)和主要内容区域(Content)。 侧边栏通常用于导航、菜单或其他辅助功能,而主要内容区域用于展示核心内容。 在你的代码中,Silider组件就是一个典型的侧边栏布局,侧边栏固定在左侧,右侧是 Header、Content 和 Footer。 https://blog.csdn.net/2202_75695913/article/details/145327361
3.SideBarPlus相似应用下载SideBar Plus 44 次下载 暂无 好评率 0 人评论 SideBar Plus最新版截图 # SideBar Plus最新版 SideBar Plus是一款侧边栏工具,支持多种特性定制。支持多项边栏工具功能,除此之外,还能够自己添加操作应用以及看天气等众多强大的功能,给用户带来方便快捷的使用愉悦感。只有当你体验到时你才会感觉到他的强大之处! https://www.wandoujia.com/apps/6570572
4.sidebar是什么意思sidebar的中文翻译音标读音用法例句1.Remove TheSidebar移除侧边栏 2.ToggleSidebar隐藏;显示侧边栏;框架转换;显示 3.SecondaryBar &SideBar额外的快捷栏;分外的快捷栏 4.SidebarGadget边栏小工具;边栏小东西 5.sidebarpro专业版;侧边栏专业版;侧边栏;侧边工具条 6.SideBarPlus侧边栏;侧边栏增强版;侧边栏增强汉化版 https://danci.gei6.com/sidebar__c8hkehmb.html
5.ElemenPlus实现侧边菜单栏伸缩mob6454cc620c34的技术博客ElemenPlus 实现侧边菜单栏伸缩 内容提要: 动态路由实现逻辑、sidebar侧边栏和面包屑导航。 动态路由 在vue-element-admin的基础上进行二次开发。 动态路由生成逻辑如下图: vue-element-admin 将路由分为:constantRoutes 和 asyncRoutes 用户登录系统时,会动态生成路由,其中 constantRoutes 必然包含,asyncRoutes 会进行https://blog.51cto.com/u_16099169/12109272
6.如何将文档上传到ChatGPTBing_AI_Sidebar">使用 ChatGPT 支持的 Bing AI 侧边栏分析文档 微软在 Edge 浏览器上添加了由 ChatGPT 支持的 Bing 侧边栏,使其在很长一段时间后得到了急需的刷新。这解锁了许多 Edge 浏览器功能,包括直接在浏览器中扫描任何文档的能力。 您无需单独将文件上传到任何网站。您只需在 Edge 浏览器中打开该文件https://m.10100.com/article/23553
7.侧边栏chatgpt,书签,应用程序等SideBarr的前10名好处包括一个强大的侧边栏, 功能,一个快速查找窗口,可让您快速访问选定文本的定义,一个支持所有流行搜索引擎的增强搜索页面,支持SINDBARR -CHATGPT 3.5 API键或GPT -4的Plus用户(新!), 支持黑暗或光模式,一个提供降压渲染,代码突出显示的响应页面,以及停止生成响应或将其复制到剪贴板的能力,许多https://www.chajianxw.com/product-tool/37046.html
8.vite+vue3+Ts+element侧边菜单栏开发 我们之前讲权限的地方已经给大家看过了返回的菜单数据,并封装成了树形结构,所以我们这里菜单就根据保存的菜单数据渲染菜单就可以了。 我们在按照以下层级创建侧边栏需要用到的组件 layout -> components -> Sidebar -> index.vue , SidebarItem.vue, SidebarMenu.vue https://cloud.tencent.com/developer/article/2276062
9.取消标题栏自定义切换成侧边栏,并增加懒路由节省内存·Luan一款Go Wails实现的GUI工具,功能涵盖网站扫描、端口扫描、企业信息收集、子域名暴破、空间引擎搜索、CDN识别等 - 取消标题栏自定义切换成侧边栏,并增加懒路由节省内存 · Luan-CC-DD/Slack@2648acahttps://github.com/Luan-CC-DD/Slack/commit/2648aca9d2659116a3af494dc7de7b83a9944002
10.Shopify侧边栏一级目录标题点击直接进入分类功能介绍:手机端侧边栏导航,含有二级目录的一级标题点击左侧标题处可直接进入对应collection页面,点击右侧+处,可打开二级目录。 打开shopify后台 -- 依次点击Online Store--Actions--Edit Code--搜索并打开sidebar-menu.liquid-- 将目标代码全选替换掉文件中原有代码即可。 https://www.jianshu.com/p/4602a457b781
11.Vue3elementPlus图标和自定义侧边栏图标侧边栏自定义图标的应用 vite+vue3+ts中使用自定义图标 使用elementPlus图标 在项目中引入 npminstall@element-plus/icons-vue import'element-plus/dist/index.css' import*asElementPlusIconsVuefrom'@element-plus/icons-vue' // 图标 for(const[key, component]ofObject.entries(ElementPlusIconsVue)) { https://www.freesion.com/article/73042627581/