Titan框架入门指南:Titan如何工作
这是该系列的第三篇文章,到目前为止,我已经讨论了Titan框架的重要性和功能以及基本设置。 在第一篇文章中,我讨论了Titan框架的三步设置,如下所示:
- 设置您的项目。
- 创建选项。
- 获取价值。
我在上一篇文章中解释了第一步,我们了解到Titan框架是一个即插即用框架,即它作为插件提供,尽管也可以通过将其嵌入到Web开发项目中来进行集成。 因此,让我们从我停下的地方继续,继续接下来的两个步骤。
在这里,我将解释Titan框架在您的Web开发项目中的工作方式和作用。 然后,我将跳到创建实例和选项的概念,从中我将在前端获得保存的值 。 所以,让我们开始吧!
1.建立您的专案
首先,让我们找出实现今天的教程所需的条件。 我们将创建一个简单的WordPress主题,我们将使用Titan框架探索它可以创建的不同选项集。 你需要:
- 本地WordPress设置,例如,我使用DesktopServer (相信我,太神奇了!)。
- 一个基本的WordPress主题-我将为此目的使用Neat 。 我为本教程创建了一个名为Neat:TitanFramework的新分支。
我的设定
当我要使用Neat WordPress主题时 ,首先解释其结构很重要。 在您的文本编辑器中打开主题文件夹,在该文件夹中,我在资产目录中创建了一个名为admin的新文件夹。 其目的是处理所有与管理员选项相关的代码。 它是另一个目录titanframework , 还有一个PHP文件admin-init.php
。
admin-init.php
文件
此PHP文件将处理所有与管理员相关的活动。 如果滚动浏览其代码,您会发现我使用了get_template_directory ()
函数来包含titanframework
目录中的四个文件。 以下代码是不言自明的,但是我将在短时间内解释每个文件的用途。
这是admin-init.php的代码:
<?php/*** Admin related initializations*//*** Titan Framework Required to be installed** It adds Titan Framework as a plugin** https://www.titanframework.net/get-started/*/if ( file_exists( get_template_directory() .'/assets/admin/titanframework/titan-framework-checker.php') ) {require_once( get_template_directory() .'/assets/admin/titanframework/titan-framework-checker.php' );}/*** Create an options via Titan Framework** http://www.titanframework.net/get-started/*/// Admin panel options.
if ( file_exists( get_template_directory() .'/assets/admin/titanframework/adminpanel-options-init.php') ) {require_once( get_template_directory() .'/assets/admin/titanframework/adminpanel-options-init.php' );}// Metabox options.
if ( file_exists( get_template_directory() .'/assets/admin/titanframework/metabox-options-init.php') ) {require_once( get_template_directory() .'/assets/admin/titanframework/metabox-options-init.php' );}// Customizer options.
if ( file_exists( get_template_directory() .'/assets/admin/titanframework/customizer-options-init.php') ) {require_once( get_template_directory() .'/assets/admin/titanframework/customizer-options-init.php' );}
目录称为titanframework
前面已经讨论过,Titan Framework可帮助您创建管理面板和选项卡,元框和主题定制程序部分和面板。 因此,我为每个文件创建了单独的文件。 显然,可以使用单独的代码行创建它们。 我将在我即将发表的文章中讨论每一个这些文件,但是现在您只需要了解这些文件的用途。
titan-framework-checker.php
:负责在您的主题中包含Titan框架。adminpanel-options-init.php
:包含用于创建管理面板和带有一组选项的选项卡的代码。metabox-options-init.php
:包含用于为帖子类型创建带有其中一组metabox-options-init.php
的代码。customizer-options-init.php
:包含用于创建主题自定义面板和带有一组选项的部分的代码。
包括admin-init.php
文件
到目前为止,您肯定想知道为什么我创建了这么多新文件。 为什么我不只是将所有代码添加到functions.php
文件中? 好吧,我认为这不是一种好的架构设计方法。 要构建可维护的产品,您需要定义一个好的设计模式。
用这么多行代码弄乱您的functions.php
文件的意义是什么? 我自己经历过:在任何开发项目结束时,代码都变得如此庞大,以至于很难在一个文件中处理所有代码,尤其是在调试和修复错误时。 最好创建单独的文件,因此请将这些文件视为模块。
让我们在functions.php
文件中包含admin-init.php
。
<?php/*** Include admin-init.php** File responsible for all admin relevant activity E.g. Settings & Metaboxes etc.*/if ( file_exists( get_template_directory() .'/assets/admin/admin-init.php') ) {require_once( get_template_directory() .'/assets/admin/admin-init.php' );}
在这里,我通过相同的get_template_directory ()
和require_once()
函数添加了admin-init.php
文件。
至此,我们已经了解了主题的基本设置,我将用它来解释Titan框架是如何工作的。 我们已经完成了设置并将其嵌入WordPress主题中的Titan框架。 让我们创建一个带有选项的管理面板,并获取前端的值。
使用Titan框架
要使用Titan Framework,您需要遵循特定的工作流程:
- 每个文件创建一个Titan框架实例。
- 创建管理面板/选项卡,元框或主题自定义器部分/面板。
- 在其中创建选项。
- 获取价值。
首先让我编写用于此目的的代码段。 这是adminpanels-options-init.php
文件的代码,该文件位于assets/admin/titanframwork/
目录中。
<?php/*** Creating admin panel options via Titan Framework.** Getting started: http://www.titanframework.net/get-started/* Admin Panel: http://www.titanframework.net/admin-panels/* Admin Tabs: http://www.titanframework.net/admin-tabs/* Options: http://www.titanframework.net/docs/* Getting Option Values: http://www.titanframework.net/getting-option-values/*//*** `tf_create_options` is the hook used to create options.*/add_action( 'tf_create_options', 'aa_options_creating_function' );function aa_options_creating_function() {// Initialize Titan with your theme name.$titan = TitanFramework::getInstance( 'neat' );/*** First Admin panel.*//*** Create admin panel options page called `$aa_panel`.** This is a first admin panel and is called by its name i.e. `$aa_panel`.*/$aa_panel = $titan->createAdminPanel( array('name' => 'Neat Options' // Name the options menu) );/*** Create the options.** Now we will create options for our panel that we just created called `$aa_panel`.*/$aa_panel->createOption( array('id' => 'aa_txt', // The ID which will be used to get the value of this option.'type' => 'text', // Type of option we are creating.'name' => 'My Text Option', // Name of the option which will be displayed in the admin panel.'desc' => 'This is our option' // Description of the option which will be displayed in the admin panel.) );/*** Save button for options.** When creating admin panel options, use this code to add an option "Save" button* since there is no other way for user to save the options.Your users can now save* (and reset) the options we just created.*/$aa_panel->createOption( array('type' => 'save') );}
从一开始,我就从Titan框架文档中添加了一些帮助链接。 现在,我将逐行解释此代码。
17号线
在这里,我们有一个名为tf_create_options
的钩子,该钩子用于使用aa_options_creating_function()
函数通过Titan框架创建选项。
第19行
我们创建了一个名为aa_options_creating_function()
的函数,该函数将负责创建这些选项。
22号线
在第22行,我为Titan Framework创建了一个实例 。 创建实例是该框架不可或缺的一部分,无论何时需要与Titan框架进行交互,都必须在每个文件中创建一个实例。 要使实例唯一,可以在其中添加产品名称。 例如,我添加了“整洁”作为参数。
获取Titan框架的实例
创建Titan框架的实例非常简单。 我们得到了一个独特的实例来避免任何混乱,以防万一另一个插件正在使用Titan Framework创建选项。 作者指出:
getInstance函数创建/获取特定于“ mytheme”的Titan框架的唯一实例。 这是我们将用于确保我们的设置不会与使用Titan Framework的其他插件冲突的
namespace
。 确保将其更改为您的主题或插件名称。
这是使用Titan实例的代码示例。
$titan = TitanFramework::getInstance( 'my-theme' );
在我的情况下 主题我将使用neat
的参数 代替 my-theme
,使我的代码唯一,即
$titan = TitanFramework::getInstance( 'neat' );
第33–35行
这些行将创建一个管理面板,我将其命名为“ $ aa_panel”。 Titan Framework有助于在项目中创建诸如管理面板,管理选项卡,元框和主题定制器面板之类的部分。 但是目前,我仅以创建管理面板为例来说明问题。
这些代码createAdminPanel()
Titan框架中调用我们的createAdminPanel()
函数,该函数形成一个数组。 此功能将在WordPress仪表板中添加一个名为Neat Options的新部分。
上图是WordPress仪表板的屏幕截图,您可以在管理面板中找到一个新部分。
总结一下到目前为止的工作:我已经建立了Web开发项目,然后向其中添加了一个实例,然后创建了一个管理面板。
现在,如果我单击“ 整洁的选项” 按钮,则此部分为空。 因此,现在我将在此新创建的管理面板中创建选项。
在Titan框架中创建选项
首选可自定义的WordPress主题,因为最终用户通常希望在不编写任何代码的情况下配置主题。 通过在主题开发过程中添加灵活的选项,可以实现这一点。
我们可以在单独的管理面板中,主题框定制工具中的元框或选项面板中添加此类选项。 选项用于存储以后在前端检索的值的目的。
第42–47行
现在看一下这些代码行。 这些将用于在管理面板或标签中创建选项。 第42 createOption()
$aa_panel
定义了createOption()
函数。 该函数再次是一个带有某些参数的数组,该数组带有id,类型,名称,描述等某些参数。根据这些行,我创建了一个选项,该选项是一个文本字段,名为My Text Option 。
这是屏幕快照,显示了在“ 整洁的选项”面板中创建的选项 。
56-58行
代码的最后两行在此面板中创建另一个选项。 但其目的是保存设置。 例如,在“ 我的文本选项”字段中,用户用John Doe
填充它。 这意味着用户要更改默认设置,只有在用户保存自定义设置时才可以更改。
因此,我再次使用createOption()
函数并为参数分配了“ type = save ”的值。
这是我到目前为止所做的开发的最终屏幕截图。
至此,您已经设置了所有Titan框架,创建了一些选项来获取动态结果,现在剩下要做的就是从最初设置的选项中获取值。 在三步式标语中,我已经讨论了前两篇文章中的前两个。 因此,现在让我们进入Titan框架工作的最后一个,也是最重要的部分。
获得价值
创建选项是在后端完成的,现在我们需要根据最终用户设置的那些选项来检索值,以便在前端使用它们。 我们可以通过一个简单的函数getOption()
来检索针对选项设置的值。
以下是用于检索保存的值的代码的基本结构:
<?phpfunction myFunction() {$titan = TitanFramework::getInstance( 'my-theme' );$myTextOption = $titan->getOption( 'my_text_option' );// Do stuff here.}
因此,我创建了一个名为myFunction
的函数,该函数首先注册了Titan的一个实例。 注册实例是重要的一步,因为它获取Titan框架为您的设置创建的对象注册在变量$titan
。 您可以看到我们的实例特定于我们的主题,即my-theme
,它应该是我们的主题名称或任何唯一的名称。
在前端检索值
让我们使用针对前端选项设置的值。 我创建了一个空白的自定义页面模板。 如果引用Neat主题文件夹,则在根目录中会找到一个名为aa_titanframework.php
的文件。 您也可以对主题进行相同的操作。
在文本编辑器中创建一个新文件 ,然后复制并粘贴以下代码行。
<?php/* Template Name: Titan Framework */get_header();/*** First Admin panel.*/// We will initialize $titan only once for every file where we use it.
$titan = TitanFramework::getInstance( 'neat' );$aa_txt_val = $titan->getOption( 'aa_txt' );?><div class="aa_wrap"><h1><?php the_title( ); ?></h1><div class="aa_content"><?php/*** First Admin panel options.*/// Print the value saved in `aa_txt` option.echo $aa_txt_val;// Let's use this value in HTML.?><h3><?php echo $aa_txt_val; ?></h3></div>
</div><?php//get_sidebar();
get_footer();?>
在解释上述代码之前,请确实参考上一篇文章的代码,在该文章中我创建了管理面板及其选项,因为这里我也使用相同的名称,ID等。
该代码的前四行用于WordPress注册此自定义页面模板,这是非常标准的—那里没有火箭科学。
获取期权价值
我将在adminpanel-options-init.php
获得在adminpanel-options-init.php
文件中创建adminpanel-options-init.php
(有关其代码,请参见上一篇文章)。 需要完成两个步骤:
- 获取唯一的Titan Framework实例并将其保存到变量。
- 使用
getOption()
函数通过ID获取值。
12号线
第一步之后,我对变量$titan
初始化了一个唯一实例,对于使用它的每个文件,它只初始化一次。 我的实例是唯一的,因为我将其命名为neat
,即主题的程序包名称-您可以将其命名为任何唯一的名称。 因此,如果某个插件正在使用Titan且您的主题也在使用它,则必须有一种方法来区分该插件设置的选项和您的主题。
$titan = TitanFramework::getInstance( 'neat' );
14号线
第二步是利用ID并获取该选项的保存值。 该行的代码是:
$aa_txt_val = $titan->getOption( 'aa_txt' );
我检索了aa_txt
的值,该值保存在变量$aa_txt_val
。 aa_txt
参数指的是我在第一个管理面板中创建的选项的ID(请参阅上一篇文章)。
因此,到目前为止,我已经设置了基本结构来获取保存的值。 现在,让我们在前端使用保存的值。
第22–35行
这些代码行用于在前端显示保存的值。 看一下第29行,我在这里使用echo
命令获取输出。 在第35行进行了相同的操作,但是这次我以H3(标题3)格式显示$aa_txt_val
的输出。 因此,现在最终用户为此选项设置的任何值都将显示在前端。
结果
为了显示上述代码的结果,请按照下列步骤操作:
- 转到您的WordPress 仪表板
- 通过页面>添加新页面创建新页面 。
- 将页面命名为Titan Framework (可选,您会知道的)
上面的屏幕截图显示了我创建的页面。 同时,您还可以找到新的管理面板菜单,即Neat Options ,我们在其中创建了选项。
接下来,在发布页面之前,为其选择页面模板,即Titan Framework 。
aa_titanframework.php
文件添加了一个称为“ Titan Framework”的新页面模板,该模板显示在下拉列表中。 选择该模板。
- 发布页面。
- 接下来转到“ 整洁的选项”菜单,并为名为“ 我的文本选项”的选项添加一些值。
该图显示我已经用AA-Text-Option填充了该字段,然后单击Save Changes 。
- 返回“ Titan框架”页面并查看该页面。
上图显示了最终结果。 这是 Titan框架页面。 以两种不同形式显示aa_txt
已保存选项值(即AA-Text-Option)。 第一个是段落格式,第二个是h3格式。
结论
到目前为止,您必须对Titan框架及其工作有所了解。 这是基本的设置,每次您使用Titan Framework开发某些东西时都应遵循。
现在您知道如何设置它,创建一些选项并获取保存的值; 尝试一下,如有任何疑问,请通过评论让我知道,或者在Twitter上与我联系。
在本系列的下一篇文章中,我们将探索可以使用Titan Framework创建的选项集以及如何使用它们。
翻译自: https://code.tutsplus.com/articles/a-beginners-guide-to-titan-framework-how-titan-works--cms-24151
Titan框架入门指南:Titan如何工作相关推荐
- Seneca :NodeJS 微服务框架入门指南
Seneca :NodeJS 微服务框架入门指南 原文:http://onmr.com/press/getting-started-seneca.html Seneca 是一个能让您快速构建基于消息的 ...
- 基于Groovy的Spock单元测试框架入门指南
文章目录 1. Spock Primer 基本概念 1.1 对比Junit 1.2 Imports 1.3 Specification测试类 1.4 Fields 属性 1.5 Fixture Met ...
- seneca mysql_Seneca :NodeJS 微效劳框架入门指南
Seneca 是一个能让您疾速构建基于音讯的微效劳体系的东西集,你不须要晓得种种效劳自身被布置在那边,不须要晓得细致有若干效劳存在,也不须要晓得他们细致做什么,任何你营业逻辑以外的效劳(如数据库.缓存 ...
- Vue.js 入门指南之“前传”(含sublime text 3 配置)
题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的"入门",就算是"入门指南&quo ...
- titan框架的使用_如何设置和使用Google Titan密钥捆绑包
titan框架的使用 Google recently released a set of two-factor authentication (2FA) security keys called th ...
- node.js Web应用框架Express入门指南
node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门 ...
- html怎样使用ui套件,weui框架组件小白入门指南:如何安装使用weui.js?
本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规.大家都是程序员,不要闹得不开心. 苏南大叔在本文中说说腾讯的weui这个前端框架的基本使用方法.这款框架已经问世有几年的时间了,因为其可以把微信 ...
- BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南!
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自 | GitHub 作者 | Jay Alammar 转自 | 机器之心 如 ...
- BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南
2019-12-31 10:50:59 选自GitHub 作者:Jay Alammar 参与:王子嘉.Geek AI 如果你是一名自然语言处理从业者,那你一定听说过最近大火的 BERT 模型.本文是一 ...
最新文章
- 如何使用OSI模型排除故障
- Centos 下安装Docker 遇到的一些错误
- adb shell 命令详解,android, adb logcat
- Pytho学习笔记:错误,测试,调试(合)
- 准备辞职了,走之前想解决的问题ptr 为空
- 解决iphone填写表单时,表单项获取焦点时往下拉屏,导致顶部标题栏下滑错位...
- WinForm中DataGridView的TextBoxColumm换行
- 洛谷P1127 词链 欧拉路问题
- DataFrame和RDD互操作的两种方式:
- Yarn 和 NPM 国内快速镜像(淘宝镜像)
- AI智能中的OCR 少数民族文字识别-维吾尔文字识别
- hightopo学习笔记--2D编辑器使用
- rtc驱动模型及rx8025驱动学习
- Keras 处理 不平衡的数据的分类问题 imbalance data 或者 highly skewed data
- java实现王者荣耀匹配规则,王者荣耀匹配机制(通俗版)
- 企业网站源码PHP附企业小程序源码
- ubuntu无法ping www.baidu.com问题
- 2021年12月远程网络教育大学英语B统考题库复习真题(完整版)
- 专家齐议尘肺病农民救助难点
- [Azure]推荐一个好用的Azure存储管理工具——CloudBerry Explorer