不管WordPress怎么做,如果BuddyBoss决定实现自己的系统(几乎所有的pagebuilder插件或定制系统都是这样),它就无法在BuddyBoss内部进行对等。
前端的基本职责分为以下几方面:
主题过滤块/短代码/小部件导航菜单,如ACF field layouts、WP Bakery、Elementor、Learndash、WooCommerce等插件生成的UI该主题对所有人都是免费的,大多数主题(但不是所有主题)都有几个共同的功能和过滤器,插件等可以连接这些功能和过滤器来添加额外的内容。主题具有模板层次结构,任何模板都可以通过get_template_part
. 如果正在使用子主题,也可以从该主题加载模板。
请记住,主题可能会忽略其中的大部分内容,并提供一个带有脚本标记的裸体前端,该脚本标记使用Vue或React加载无头应用程序。
过滤器使任何代码都有机会将自身插入某个位置或修改正在过滤的内容。例如,您的帖子内容末尾可能有大量附加内容,可以通过任何插件或任何位置的主题添加这些内容。没有清晰的逻辑将其与特定的地方联系起来。
块/短代码/小部件最接近您的习惯,随着基于块的主题变得越来越普遍,WordPress的输出越来越面向块。由于遗留的原因,短代码和小部件仍将存在,但它们正被大量淡化,并被块取代,例如新的基于块的小部件编辑器。
导航菜单通过walker类显示其HTML,这些菜单通常由wp_nav_menu
呼叫许多主题覆盖walker来实现定制菜单HTML,尤其是引导UI。
插件生成的UI是单独唯一和定制的。E、 g.有加载Laravels刀片模板系统的主题和插件。我见过一些使用细枝生成HTML输出的网站。一些插件在带有自定义过滤器的自定义接口中重用短代码。自定义是关键,它们都有唯一的和单独的实现,没有通用的共享解决方案。
例如,重力表单中的表单和忍者表单中的表单是不兼容的,它们不使用公共框架,它们是完全定制的独立代码库,使用不同的方法来呈现HTML。它们可能提供一个块或短代码,但其内部以及在该位置输出的内容是一个具有自己文档和API的黑盒。
P、 S:我的问题不仅仅是关于Buddyboss。我的问题是了解wordpress如何在更基本的层面上管理页面上的元素。
不幸的是,一般的答案对你来说不是很有用,也不令人满意。
检查你感兴趣的物品的代码,寻找线索。HTML类名可以给出很大的提示,例如,如果它有类名wp-popular-posts-widget
, 这可能是流行的posts小部件如果没有明显的罪魁祸首,那么需要在整个代码库中搜索HTML的部分内容。认为grep
或者在Visual Studio代码中右键单击“在文件夹中查找”如果没有结果,请尝试其他片段,否则代码很可能是动态生成的,或者是在数据库中。快速查看BuddyBoss的主要产品网站,其中任何一个都是您最快的路线的可能性非常小。通过选择忽略BuddyBoss的support routes文档和社区,您的任务变得更加困难和漫长。
您想要更改或添加的HTML位于BuddyBoss文件中,或者可以通过BuddyBoss API或修改进行更改的可能性是overwhelming。你需要的是BuddyBoss的帮助,而不是WordPress的帮助。甚至可能你永远也无法从你复制的网站上找到HTML,因为他们聘请了一名开发人员专门为他们编写自定义代码。
WP的模板系统本身提供的最接近的模板系统是:
如果主题构建正确,它将调用body_class
这将提示WP试图从模板层次结构加载的内容,例如。post-template-default
或archive
查询监视器之类的插件将提供有关通过get_template_part
这两者都不会告诉您页面的哪些部分映射到哪些部分,并且并不是页面的所有部分都来自模板,假设模板做了任何事情。甚至有可能插件或主题代码在早期完全绕过模板系统。