这是该系列的第三篇文章,到目前为止,我已经讨论了Titan框架的重要性和功能以及基本设置。 在第一篇文章中,我讨论了Titan框架的三步设置,如下所示:

  1. 设置您的项目。
  2. 创建选项。
  3. 获取价值。

我在上一篇文章中解释了第一步,我们了解到Titan框架是一个即插即用框架,即它作为插件提供,尽管也可以通过将其嵌入到Web开发项目中来进行集成。 因此,让我们从我停下的地方继续,继续接下来的两个步骤。

在这里,我将解释Titan框架在您的Web开发项目中的工作方式和作用。 然后,我将跳到创建实例选项的概念,从中我将在前端获得保存的 。 所以,让我们开始吧!

1.建立您的专案

首先,让我们找出实现今天的教程所需的条件。 我们将创建一个简单的WordPress主题,我们将使用Titan框架探索它可以创建的不同选项集。 你需要:

  1. 本地WordPress设置,例如,我使用DesktopServer (相信我,太神奇了!)。
  2. 一个基本的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,您需要遵循特定的工作流程:

  1. 每个文件创建一个Titan框架实例。
  2. 创建管理面板/选项卡,元框或主题自定义器部分/面板。
  3. 在其中创建选项。
  4. 获取价值。

首先让我编写用于此目的的代码段。 这是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 (有关其代码,请参见上一篇文章)。 需要完成两个步骤:

  1. 获取唯一的Titan Framework实例并将其保存到变量。
  2. 使用getOption()函数通过ID获取值。

12号线

第一步之后,我对变量$titan初始化了一个唯一实例,对于使用它的每个文件,它只初始化一次。 我的实例是唯一的,因为我将其命名为neat ,即主题的程序包名称-您可以将其命名为任何唯一的名称。 因此,如果某个插件正在使用Titan且您的主题也在使用它,则必须有一种方法来区分该插件设置的选项和您的主题。

$titan = TitanFramework::getInstance( 'neat' );

14号线

第二步是利用ID并获取该选项的保存值。 该行的代码是:

$aa_txt_val = $titan->getOption( 'aa_txt' );

我检索了aa_txt的值,该值保存在变量$aa_txt_valaa_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如何工作相关推荐

  1. Seneca :NodeJS 微服务框架入门指南

    Seneca :NodeJS 微服务框架入门指南 原文:http://onmr.com/press/getting-started-seneca.html Seneca 是一个能让您快速构建基于消息的 ...

  2. 基于Groovy的Spock单元测试框架入门指南

    文章目录 1. Spock Primer 基本概念 1.1 对比Junit 1.2 Imports 1.3 Specification测试类 1.4 Fields 属性 1.5 Fixture Met ...

  3. seneca mysql_Seneca :NodeJS 微效劳框架入门指南

    Seneca 是一个能让您疾速构建基于音讯的微效劳体系的东西集,你不须要晓得种种效劳自身被布置在那边,不须要晓得细致有若干效劳存在,也不须要晓得他们细致做什么,任何你营业逻辑以外的效劳(如数据库.缓存 ...

  4. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的"入门",就算是"入门指南&quo ...

  5. titan框架的使用_如何设置和使用Google Titan密钥捆绑包

    titan框架的使用 Google recently released a set of two-factor authentication (2FA) security keys called th ...

  6. node.js Web应用框架Express入门指南

    node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门 ...

  7. html怎样使用ui套件,weui框架组件小白入门指南:如何安装使用weui.js?

    本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规.大家都是程序员,不要闹得不开心. 苏南大叔在本文中说说腾讯的weui这个前端框架的基本使用方法.这款框架已经问世有几年的时间了,因为其可以把微信 ...

  8. BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自 | GitHub    作者 | Jay Alammar 转自 | 机器之心 如 ...

  9. BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南

    2019-12-31 10:50:59 选自GitHub 作者:Jay Alammar 参与:王子嘉.Geek AI 如果你是一名自然语言处理从业者,那你一定听说过最近大火的 BERT 模型.本文是一 ...

最新文章

  1. 如何使用OSI模型排除故障
  2. Centos 下安装Docker 遇到的一些错误
  3. adb shell 命令详解,android, adb logcat
  4. Pytho学习笔记:错误,测试,调试(合)
  5. 准备辞职了,走之前想解决的问题ptr 为空
  6. 解决iphone填写表单时,表单项获取焦点时往下拉屏,导致顶部标题栏下滑错位...
  7. WinForm中DataGridView的TextBoxColumm换行
  8. 洛谷P1127 词链 欧拉路问题
  9. DataFrame和RDD互操作的两种方式:
  10. Yarn 和 NPM 国内快速镜像(淘宝镜像)
  11. AI智能中的OCR 少数民族文字识别-维吾尔文字识别
  12. hightopo学习笔记--2D编辑器使用
  13. rtc驱动模型及rx8025驱动学习
  14. Keras 处理 不平衡的数据的分类问题 imbalance data 或者 highly skewed data
  15. java实现王者荣耀匹配规则,王者荣耀匹配机制(通俗版)
  16. 企业网站源码PHP附企业小程序源码
  17. ubuntu无法ping www.baidu.com问题
  18. 2021年12月远程网络教育大学英语B统考题库复习真题(完整版)
  19. 专家齐议尘肺病农民救助难点
  20. [Azure]推荐一个好用的Azure存储管理工具——CloudBerry Explorer

热门文章

  1. mysql 截取括号内字符串_Mysql字符串截取_获取指定字符串中的数据
  2. 优秀录屏工具:Screenium 3 for Mac
  3. CSS的2D旋转效果
  4. 前端js——金山打字通小游戏(屏幕随机下落字母,获取键盘按键)
  5. Day644.Spring框架开发双刃剑 -Java业务开发常见错误
  6. log4j安全漏洞fix--快速答疑处理篇。
  7. java session logout_Spring Session Logout
  8. 管程法----生产者和消费者
  9. ssh端口转发(隧道技术)
  10. Python:快速去除PDF水印