独立的基石
在这篇文章中,我们将解释如何在使用第三方主题时安装Cornerstone插件,并解释如何将其与第三方主题和插件直接集成。
独立基石概述
基石是一个强大的网站建设者家族。专业用户可以访问基石的所有构建器,它们被内置到主题中。X用户可以访问Page Builder,它是作为一个单独的插件管理的(包含在您的购买中)。本文中所解释的独立版本的Cornerstone可用于其他第三方主题和构建器。
如何下载Cornerstone插件安装文件
要下载Cornerstone插件的安装压缩文件,请访问您的Themeco仪表板在左手边找找驾照。然后点击下载按钮和Cornerstone插件的安装压缩文件将下载到您的计算机。
如何安装基石插件
现在你已经下载了Cornerstone插件;我们已经准备好安装了!在WordPress仪表板上,鼠标悬停插件在左边的菜单上,然后点击添加新菜单项:

通过单击安装插件zip文件上传插件紧随其后的是选择文件并从您的计算机中定位文件。一旦找到,就可以单击现在安装:

安装完成后,单击激活插件在你的WordPress安装中激活Cornerstone插件:

现在您已经安装了基石插件,您将有基石菜单项在你的WordPress管理的左边栏:创建你自己的插件包含新的基石元素(也许从你现有的短代码)。为基石元素添加自己的样式。您甚至可以完全关闭本机样式。

如何将基石整合到第三方主题中
如果您是一个主题开发人员,并有兴趣将基石插件集成到您的主题中,请遵循以下步骤。
该做什么和不该做什么
在决定将基石整合到第三方主题之前,请考虑以下几点:
- 做创建自己的插件,包含新的基石元素(可能来自你已经存在的短代码)。
- 做添加自己的样式到基石元素。您甚至可以完全关闭本机样式。
- 不更改元素或短代码的标记。这对于数据可移植性很重要。
- 不以任何方式改变用户界面,包括引入新的控件或自定义构建器功能。
- 不使用新的控件扩展现有元素(包括节、行和列),尽管您的自定义主题样式可以用来更改它们的显示方式。
如果你坚持使用我们文档中的api,这就不是一个问题,但尤其是在WordPress中,总有一些变通方法,我们要求你避免使用它们。
我们知道这比其他构建器所允许的限制更多,但我们致力于保留基石用户体验-无论使用什么主题或插件组合。我们还承诺保留使用Cornerstone创建的内容的可移植性。如果Cornerstone缺少您需要的某种控制或功能,请随时联系我们并让我们知道。我们可能会与您合作,使其成为核心插件的一部分。
在主题中捆绑基石
要将基石捆绑到您的主题,请遵循上述步骤在这里.
主题开发人员的函数和钩子
我们提供了一系列函数和钩子,你可以在你的主题中使用它们来定制基石的使用体验,我们在这里列出:
隐藏Themeco链接
如上所述,所有基石用户和Themeco之间仍然存在(并且将永远存在)一些联系。我们提供自动更新和自定义模板验证安装。我们不提供删除的验证屏幕的方法管理许可证链接,并要求您不要篡改这作为您的主题集成的一部分。
话虽如此,我们理解你们可能希望在自己的产品中限制对我们品牌的曝光。188金宝搏官网登录-首页我们提供了一些标志,可以通过cornerstone_theme_integration
函数来隐藏这些。以下是可以删除的内容:
- 基石的全球验证通知。我们用驳回通知提醒人们确认。但我们知道你可能不希望他们每次更新都看到这个。
- Themeco报价。如果我们引入了一些可以被视为通过Cornerstone进行推广的内容,你可以确保它会被提前关闭,以避免利益冲突。
- 购买链接。在Cornerstone的主页上,通常有一个购买其他许可证的链接。这将进入我们的销售页面,所以我们知道如果你想删除它。
- 支持盒子。主页还有一个方框,其中包含我们的知识库和支持的链接。虽然我们很高兴您的用户有机会阅读我们的文章,但这取决于您的判断。
要删除上述所有内容,可以从after_theme_setup
WordPress的钩子:
Cornerstone_theme_integration (array('remove_global_validation_notice' => true, 'remove_themeco_offers' => true, 'remove_purchase_link' => true, 'remove_support_box' => true));
添加默认邮件类型
默认情况下,Posts和page启用了Cornerstone。基石提供cornerstone_set_default_post_types
函数来重新声明什么类型的文章将默认使用基石。附加的文章类型,或者如果你想默认关闭文章,你可以使用这个功能。
例子:
<?php //删除默认启用的Posts。函数my_theme_set_cornerstone_default_post_types() {cornerstone_set_default_post_types(数组('page'));} add_action('cornerstone_integrations', 'my_theme_set_cornerstone_default_post_types');<?添加“我的主题作品集”post类型。函数my_theme_set_cornerstone_default_post_types() {cornerstone_set_default_post_types(数组('post', 'page', 'my-theme-portfolio'));} add_action('cornerstone_integrations', 'my_theme_set_cornerstone_default_post_types')
额外的考虑:
- 这并不妨碍用户在基石设置页面上重新启用支持自己。
- 这个函数不应该在插件中使用。它应该只被调用一次,因为每次调用都会覆盖之前的声明。
移除Cornerstone前端样式
如果您打算在自己的样式表中重新设置Cornerstone元素的样式,有一种快速而简单的方法可以防止Cornerstone在前端对内置样式进行排队。
Add_filter ('cornerstone_enqueue_styles', '__return_false');
也可以禁用Cornerstone生成的样式,并删除添加到定制器中的集成设置。我们在X主题中这样做是为了防止重叠,但在大多数情况下我们不建议这样做,因为这是相当深入的集成。
这些过滤器将关闭基石的生成CSS在头部,并防止自定义设置出现。
Add_filter ('cornerstone_customizer_output', '__return_false');Add_filter ('cornerstone_use_customizer', '__return_false');
请记住,如果您选择这种高级路线,您将需要添加自己的样式为基本边距和容器宽度。
使用集成类
集成类是可选的,但提供了一种方便的方式来组织您的代码。对于所有可能包含的更改,将它们组织到一个类中可能会有所帮助。这个类甚至可能存在于另一个插件中,但仍然被分配给你的主题,并且只有在检测到你的主题是活动的时候才加载。
创建类
创建一个包含构造函数和静态函数的PHP类样式表
方法。这正是Cornerstone的整合经理所要寻找的。例如:
<?/** *如果get_stylesheet()匹配这里返回的值,这个集成将被加载。*/公共静态函数样式表(){返回'my-theme';} /** *加载after_theme_setup钩子*/公共函数__construct() {}}
注册集成
集成需要很早就注册,以允许在执行期间访问其他主钩子。类中传递名称和类来加载cornerstone_register_integration
函数。安装Cornerstone集成的最佳位置是显然也
你的主题,勾入cornerstone_integrations
.这里有一个例子:
<?php函数my_theme_register_cornerstone_integration(){//加载包含之前创建的类的文件require('path/to/class-my-theme-cornerstone-integration.php');//用Cornerstone注册我们的类('my-theme', 'Cornerstone_Integration_My_Theme');} add_action('cornerstone_integrations', 'my_theme_register_cornerstone_integration');
例子:
<?/** *如果get_stylesheet()匹配这里返回的值,这个集成将被加载。*/公共静态函数样式表(){返回'my-theme';} /** *加载after_theme_setup钩子*/公共函数__construct(){//设置默认Post类型cornerstone_set_default_post_type (array(' Post ', 'page', 'my-theme-portfolio'));//声明主题集成标志cornerstone_theme_integration(array('remove_global_validation_notice' => true, 'remove_themeco_offers' => true, 'remove_purchase_link' => true, 'remove_support_box' => true));Add_filter ('cornerstone_enqueue_styles', '__return_false');}}
我们讨论的元素自定义只针对经典元素。目前还没有用于V2元素的API。
如何将基石集成到第三方插件
如果你是一个插件开发人员,并且有兴趣将Cornerstone插件集成到你自己的插件中,请遵循以下步骤。
该做什么和不该做什么
在决定将基石整合到第三方主题之前,请考虑以下几点:
做的:
- 创造全新的基石元素。
- 创建基石元素来包装短代码,允许它们在页面构建器中使用
不该做的:
- 不要更改元素或短代码的标记。这对于数据可移植性很重要。
- 不要以任何方式改变用户界面,包括引入新的控件或自定义构建器功能。
- 不要用新的控件扩展现有的元素,包括节、行和列。
如果你坚持使用我们文档中的api,这就不是一个问题,但尤其是在WordPress中,总有一些变通方法,我们要求你避免使用它们。
我们知道这比其他构建器所允许的限制更多,但我们致力于保留基石用户体验-无论使用什么主题或插件组合。我们还承诺保留使用Cornerstone创建的内容的可移植性。如果Cornerstone缺少您需要的某种控制或功能,请随时联系我们并让我们知道。我们可能会与您合作,使其成为核心插件的一部分。
插件开发者的函数和钩子
大多数基石插件开发都将围绕元素展开。有很多内容需要介绍,因此元素创建的细节将在另一篇文章中介绍。在这里,我们将专注于注册用于页面构建器的元素,并设置自定义图标。
元素的API
我们将讨论Element API和详细的可用函数:
注册自定义元素
在元素出现在页面构建器之前,需要对其进行注册。正如元素API文章中所述,您将需要一个惟一的文件夹和一个definition.php
包含PHP类的文件。在cornerstone_register_elements
钩子,然后调用cornerstone_register_element
函数来完成注册。下面是该函数的期望:
注册元素($class_name, $name, $path)
例子:
函数my_extension_register_elements() {cornerstone_register_element('My_First_Element', 'my-first-element', MY_EXTENSION_PATH。“包括/ my-first-element”);'My_Second_Element', 'my-second-element', MY_EXTENSION_PATH。“包括/ my-second-element”);} add_action('cornerstone_register_elements', 'my_extension_register_elements');
注册元素图标
可以在库中包含自己的图标,但有一些注意事项。这些图标必须采用SVG格式,并定义为SVG文件中的符号。符号允许单个文件保存任意数量的图标,作为矢量格式,我们可以在页面构建器中更好地使用图标,而不需要开发人员包含不同的状态(如悬停)。它还有助于加强一致性,前面提到的一致性是我们的目标之一。
首先,您需要一个希望用于元素的图标或标志的SVG。接下来,将其转换为使用SVG< >符号
标签。如需更多信息,请在这里.大多数情况下,这只是更换包装< g > < / g >
设置,<符号> < /符号>
而是包括一个ID属性。
例子:
<强> < ?xml version="1.0" encoding="UTF-8"?做CTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
接下来,我们要让基石公司知道这个文件。这包括使用cornerstone_icon_map
过滤器添加一个URL到您创建的包含您的图标的SVG。
函数my_extension_icon_map($icon_map) {$icon_map['my-extension'] = MY_EXTENSION_URL。' /资产/ svg / icons.svg ';返回icon_map美元;} add_filter('cornerstone_icon_map', 'my_extension_icon_map');
此时此刻,我的伸缩
现在可以被分配为icon_group.点击在这里获取更多信息。
使用集成类
集成类是可选的,但提供了一种方便的方式来组织您的代码。对于所有可能包含的更改,将它们组织到一个类中可能会有所帮助。
创建类
创建一个包含构造函数的基本PHP类。可选地,您可以包括一个静态should_load
函数。
例子:
<?/** *这个函数是可选的。返回true/false以确定是否应该加载集成。*/公共静态函数should_load() {return (defined('MY_FEATURE') && MY_FEATURE);} /** *在plugins_loaded钩子期间加载*/公共函数__construct() {}}
注册集成
集成需要很早就注册,以允许在执行期间访问其他主钩子。类中传递名称和类来加载cornerstone_register_integration
函数。设置Cornerstone集成的最佳位置是连接到cornerstone_integrations
在插件初始化期间的某个地方。
<?php函数my_plugin_register_cornerstone_integration(){//加载之前创建的类文件require('path/to/class-my-plugin-cornerstone-integration.php');//用Cornerstone注册我们的类('my-plugin', 'Cornerstone_Integration_My_Plugin');} add_action('cornerstone_integrations', 'my_plugin_register_cornerstone_integration');
例子:下面的例子展示了一个为你的插件注册一些元素和自定义图标的类。
<?php类Cornerstone_Integration_My_Plugin{/** *加载plugins_loaded钩子*/公共函数__construct(){//注册自定义元素add_action('cornerstone_register_elements', array($this, 'register_elements'));//添加自定义图标add_filter('cornerstone_icon_map', array($this, 'icon_map'));}公共函数register_elements() {cornerstone_register_element('My_First_Element', 'my-first-element', MY_EXTENSION_PATH。“包括/ my-first-element”);'My_Second_Element', 'my-second-element', MY_EXTENSION_PATH。“包括/ my-second-element”);}公共函数icon_map($icon_map) {$icon_map['my-extension'] = MY_EXTENSION_URL。' /资产/ svg / icons.svg ';返回icon_map美元; } }
我们讨论的元素自定义只针对经典元素。目前还没有用于V2元素的API。
总结
我们已经讨论了独立版本的Cornerstone插件以及如何下载和安装它。然后,我们讨论了在将Cornerstone集成到第三方主题或插件中时需要考虑的事项。我们还介绍了可用于集成的函数和钩子。最后,我们讨论了为那些想进一步进行集成的高级开发人员提供的类集成。
看到不准确的东西了吗?让我们知道