0

我目前在我们客户的一个网站上维护一个部分。这很简单:一个父页面和多个子页面。父级显示所有到子页面的链接;而且,一旦你在其中一个子页面上,就会有一个侧栏列出所有到其他(兄弟)页面的链接。CMS:自动将子页面添加到导航/边栏中

这实际上需要频繁更新:客户希望在某个时间添加新的子页面。因此,他们需要(i)在父页面上添加一个新链接,(ii)创建一个新的子页面,以及(iii)向侧栏添加一个新链接。

我相信这是一个很好的使用CMS的人选,例如WordPress的;但是,不太确定它是否会更简单。具体来说,WordPress有没有办法自动完成(ii)和(iii)?也就是说,要添加一个新的子页面并自动添加该新子项的侧边栏?也许是一个插件?

如果您对其他CMS平台的其他建议更专门为此目的而构建,我会非常感兴趣。

回答

0

(ii,添加新的子页面)是默认的wordpress功能,所以在那里没有问题。如果您知道PHP基础知识以及如何使用codex http://codex.wordpress.org/(wordpress API doc),那么 (我和iii,动态创建链接/菜单)也是没有问题的。

一旦你在wordpress管理页面内创建了父页面和一些子页面(点击几下操作),你需要找到一个默认显示侧边栏链接的主题,或者简单地修改您喜欢但不提供该功能的主题。在这种情况下,修改并不困难:您正在查找wp_list_pages()函数(请参阅API文档)。传递这个函数参数'child_of'= get_the_ID(),它会回显当前页面的子页面的链接列表。 这段代码可以放在主要的wordpress循环中的任何地方 - 只需找到你的主题的一部分,绘制侧边栏(在二十几岁,默认wordpress主题,我相信它是sidebar.php)

从我个人的经验,我可以说wordpress可以是一个强大的CMS,即使只做了轻微的修改。由于代码的结构和记录非常好,因此非常容易,因此黑客入侵是纯粹的喜悦。

如果你深入研究WP核心代码,而不仅仅是主题修改(后者足以满足你描述的目的),我建议你将所有的修改包装在一个插件中,这样你在更新WP时不会覆盖它们。

+0

感谢您的信息。假设我需要提供一种方法来覆盖边栏中的链接顺序,也许我可以使用自定义字段来管理订单?例如,如果用户在子页面的自定义字段中输入'1',那么无论“wp_list_pages”返回的顺序如何,我们都会始终在顶部显示该链接/子页面。 – moey

+1

不太清楚你要做什么,但是当你想重新排列页面链接的外观时,你有两个选择:1.设置页面的顺序字段(在页面编辑屏幕中),并提供'sort_column '='menu_order'作为wp_list_pages函数的一个参数字段,请参阅参考资料以获取详细信息。 2.您使用get_pages()而不是wp_list_pages(),它不会回显链接,而是返回一组页面。这些可以通过PHP代码以任何方式进行排序。 – DerManu